Cookie
쿠키(cookie)란 웹 사이트에 접속할 때 서버에 의해 사용자의 컴퓨터에 저장되는 정보를 의미한다.
웹 사이트는 이렇게 저장된 사용자의 정보를 클라이언트(client) 측의 컴퓨터에 남겨서 필요할 때마다 재사용한다.
.현재 이러한 쿠키는 로그인 정보나 장바구니 정보를 저장하는 용도로 많이 활용되고 있다.
하지만 사용자의 정보가 컴퓨터에 고스란히 남기 때문에 보안과 관련된 문제를 가지고 있다.
쿠키 생성
PHP에서는 setcookie() 함수를 이용하여 쿠키를 생성할 수 있다.
PHP에서는 setcookie() 함수를 이용하여 쿠키를 생성할 수 있다.
쿠키는 지속 시간이 지나면 무효가 되며 지속 시간을 전달하지 않으면 브라우저가 닫히기 전까지 유효하다.
또한 사용자가 직접 삭제하지 않는 한 브라우저에 계속 남아있다.
쿠키 삭제
PHP에서 unset() 함수나 setcookie() 함수를 사용하면, 생성된 쿠키를 삭제할 수 있다.
session
세션(session)이란 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법을 의미한디.
사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지를 세션이라고 한다.
쿠키는 클라이언트 측의 컴퓨터에 모든 데이터를 저장한다.
하지만 세션은 서비스가 돌아가는 서버 측에 데이터를 저장, 세션의 키값(세션ID)만을 클라이언트에 남긴다.
브라우저는 필요할때마다 이 값을 이용하여 서버에 저장된 데이터를 사용한다.
세션 시작
PHP에서는 session_start() 함수를 이용하여 새로운 세션을 시작하거나, 기존의 세션을 다시 시작할 수 있다.
session_start() 함수는 세션 아이디가 이미 존재하는지를 확인하고 존재하지않으면 새로운 아이디를 만든다.
이미 존재하는 세션 아이디가 있을 때는 원래 있던 세션을 다시 불러와서 사용할 수 있도록 한다.
세션 아이디는 웹 서버에 의해 무작위로 만들어진 숫자(문자)다.
이 세션 아이디는 세션이 유지되는 동안 클라이언트 측에 저장, 세션 변수를 등록하는 키로 사용된다.
웹서버에서는 클라이언트로부터 받아온 세션아이디를 가지고 해당 아이디에 대응되는 세션 변수에 접근 할 수 있다.
생성할때는 아래와 같이 생성한다.
세션의 지속 시간은 쿠키와 달리 php.ini 파일에 설정되어 있으므로, 따로 명시해주지 않아도 된다.
세션이 생성되고 나면 세션 변수를 수퍼 글로벌인 $_SESSION 배열에 등록할 수 있다.
이때 세션 변수의 이름이 키값이 되며, 서버에 저장된다.
등록된 세션 변수는 등록을 해지하지않는 한 세션이 끝날 때까지 유지된다.
생성된 세션 변수는 $_SESSION["세션변수이름"]으로 접근할 수 있다.
세션 변수의 등록 해지
세션 변수의 사용이 모두 끝나면, 세션 변수의 등록을 해지할 수 있다.
unset() 함수를 사용하면, 특정 이름의 세션 변수만을 해지할 수 있다.
세션 자체를 완전히 종료하려면 session_destroy() 함수를 사용하여 세션 아이디를 삭제하면 된다.
'웹' 카테고리의 다른 글
PHP) PDO를 이용한 Mysql CRUD - CREATE 2 (0) | 2023.04.09 |
---|---|
PHP) PDO를 이용한 Mysql CRUD- CREATE 1 (0) | 2023.04.08 |
로그인 기능 구현하기 2 (0) | 2023.04.04 |
로그인 기능 구현하기 (0) | 2023.04.03 |
DB 연결 테스트 (0) | 2023.04.03 |