PHP - 쿠키

쿠키의 구조

쿠키는 사용자의 컴퓨터에 브라우저가 브라우징 중에 저장하는 작은 데이터 조각입니다. 이들은 사용자의 기본 설정이나 로그인 상태와 같은 정보를 세션 간에 기억하는 데 사용됩니다. PHP에서는 내장 함수를 사용하여 쿠키를 설정하고 액세스할 수 있습니다.

PHP - Cookies

쿠키는 무엇인가요?

쿠키는 웹사이트가 사용자의 컴퓨터 하드 드라이브에 저장하는 텍스트 파일입니다. 사용자가 웹사이트를 방문할 때마다 브라우저는 쿠키를 서버로 다시 보내어 웹사이트에 사용자의 이전 활동을 알립니다. 이를 통해 웹사이트는 사용자의 과거 상호작용을 기반으로 사용자 경험을 맞춤형으로 조정할 수 있습니다.

쿠키의 종류

쿠키는 세션 쿠키와 지속적인 쿠키 두 가지 종류가 있습니다.

  1. 세션 쿠키: 이 쿠키는 일시적이며 브라우저를 닫을 때 지워집니다. 쇼핑 카트 항목 목록과 같은 일시적인 정보를 저장하는 데 유용합니다.
  2. 지속적인 쿠키: 이 쿠키는 사용자가 만료일에 도달하거나 사용자가 수동으로 지우기 전까지 컴퓨터에 남아 있습니다. 이들은 사용자 기본 설정이나 로그인 세션과 같은 장기적인 추적에 사용됩니다.

PHP에서 쿠키 설정 방법

PHP에서 쿠키를 설정하려면 setcookie() 함수를 사용합니다. 다음은 그 방법입니다:

<?php
// "username" 쿠키를 "JohnDoe" 값으로 설정하고 30일 후 만료됩니다.
setcookie("username", "JohnDoe", time() + (86400 * 30), "/");
?>

이 예제에서 우리는 "username" 쿠키를 "JohnDoe" 값으로 설정하고 있습니다. 세 번째 인수는 만료 시간으로, 현재 시간(time())에 30일 동안의 초를 더합니다. 네 번째 인수는 쿠키가 유효한 경로입니다. 이를 "/"로 설정하면 쿠키는 전체 웹사이트에서 유효합니다.

PHP로 쿠키 액세스 방법

쿠키가 설정되면 $_COOKIE 슈퍼 글로벌 배열을 사용하여 그 값을 액세스할 수 있습니다. 다음은 "username" 쿠키의 값을检索하는 예제입니다:

<?php
if(isset($_COOKIE["username"])) {
echo "안녕하세요, " . $_COOKIE["username"] . "님!";
} else {
echo "안녕하세요, 손님!";
}
?>

이 코드에서 우리는 "username" 쿠키가 설정되었는지 isset()를 사용하여 확인합니다. 쿠키가 존재하면 사용자 이름을 포함한 환영 메시지를 표시하고, 그렇지 않으면 손님을 위한 일반 환영 메시지를 표시합니다.

쿠키 삭제 방법

쿠키를 삭제하려면 만료 시간을 과거 날짜로 설정합니다. 다음은 "username" 쿠키를 삭제하는 방법입니다:

<?php
// "username" 쿠키를 삭제합니다.
setcookie("username", "", time() - 3600);
?>

만료 시간을 과거 날짜로 설정하면 브라우저가 쿠키를 자동으로 제거합니다. 이 예제에서 우리는 만료 시간을 1시간 전으로 설정하여 "username" 쿠키를 제거합니다.

이제 PHP에서 쿠키를 설정하고 액세스하며 삭제하는 방법을 알았습니다. 쿠키는 민감한 정보를 저장할 수 있으므로 신중하게 사용해야 합니다. 항상 웹사이트가 쿠키 관리와 사용자 개인정보 보호에 대한 최선의 관행을 따르도록 하세요.

행복한 코딩을!

Credits: Image by storyset