728x90
1. 쿠키 생성 setcookie()
PHP에서 쿠키를 설정하는 데 사용됩니다. 이 함수는 사용자가 브라우저를 통해 서버와 상호작용하는 동안 정보를 저장하는 방법으로 활용됩니다. 쿠키는 클라이언트 측에서 저장되며, 이후의 요청 시 서버로 전송됩니다.
setcookie ( $name [, $value [, $expire [, $path [, $domain [, $secure [, $httponly ]]]]]] )
setcookie($cookieName, $cookieValue, time()+60, "/"); // 쿠키가 60초 간 지속됨.
- $name:필수 매개변수로 쿠키의 이름을 지정합니다.
예: "user" - $value:선택 매개변수로 쿠키의 값을 지정합니다. 기본값은 "" (빈 문자열)입니다.
예: "John Doe" - $expire:선택 매개변수로 쿠키의 만료 시간을 UNIX 타임스탬프로 지정합니다. 이 시간을 기준으로 쿠키가 만료됩니다.
예: time() + 3600 (현재 시간으로부터 1시간 후) - $path:선택 매개변수로 쿠키가 유효한 경로를 지정합니다. 기본값은 현재 경로입니다.
예: "/" (전체 도메인에서 유효) - $domain:선택 매개변수로 쿠키가 유효한 도메인을 지정합니다. 기본값은 현재 도메인입니다.
예: "example.com" - $secure:선택 매개변수로 true로 설정하면 쿠키가 HTTPS 연결에서만 전송됩니다. 기본값은 false입니다.
예: true - $httponly:선택 매개변수로 true로 설정하면 JavaScript에서 쿠키에 접근할 수 없습니다. 기본값은 false입니다. XSS 공격을 방지하는 데 유용합니다.
예: true
2.쿠키 접근 $_COOKIE
$_COOKIE["쿠키이름"]을 통해 접근할 수 있습니다.
setcookie("username", "John Doe", time() + 3600, "/", "", true, true);
echo "쿠키 값: " . $_COOKIE["username"];
3.쿠키 삭제 unset() , setcookie()
setcookie() 함수를 사용하여 해당 쿠키의 만료 시간을 과거로 설정합니다.
unset() 함수는 배열이나 변수를 삭제할 때 사용되지만, 쿠키를 직접 삭제하는 데는 사용되지 않습니다.
3-1.setcookie()
setcookie() 함수를 호출하고, 만료 시간을 과거로 설정합니다. 이 때, 쿠키의 이름, 경로 및 도메인도 일치해야 합니다.
setcookie("username", "", time() - 3600, "/");
3-2.unset()
unset() 함수는 변수를 삭제할 때 사용되며, 쿠키 배열인 $_COOKIE에서 쿠키를 삭제할 수는 있지만, 실제로 쿠키를 브라우저에서 제거하지는 않습니다.
unset($_COOKIE["username"]);
4.세션
4-1.세션 시작 session_start()
session_start() 함수는 PHP에서 세션을 시작하거나 이미 존재하는 세션을 재개하는 데 사용됩니다.
쿠키와 유사하지만 클라이언트 측에 직접적으로 데이터를 저장하지 않고 서버 측에서 관리됩니다.
session_start();
4-2.세션 데이터 저장 $_SESSION
$_SESSION 배열을 사용하여 데이터를 저장합니다.
$_SESSION['username'] = 'John Doe';
$_SESSION['loggedin'] = true;
4-3.세션 데이터 읽기 $_SESSION
$_SESSION배열을 통해 접근할 수 있습니다.
echo $_SESSION['username']; // 출력: John Doe
4-4.세션 데이터 삭제 unset(),session_unset();
unset()함수를 사용하여 특정 세션 변수를 삭제할 수 있습니다.
session_unset() 함수를 사용하여 모든 세션 변수를 제거할 수 있습니다.
unset($_SESSION['username']);
session_unset();
4-5.세션 종료 session_destroy()
세션을 종료하려면 session_destroy() 함수를 사용합니다.
이 함수는 현재 세션 데이터를 삭제합니다.
session_destroy();
4-6.세션 만료 설정 session.gc_maxlifetime
세션의 만료 시간을 설정하려면 session.gc_maxlifetime을 사용하여 세션 데이터가 서버에서 유지되는 최대 시간을 조정할 수 있습니다.
ini_set('session.gc_maxlifetime', 3600); // 세션 데이터의 최대 유지 시간 1시간 설정
728x90
'BackEnd > PHP' 카테고리의 다른 글
[PHP] 파일 (0) | 2024.09.29 |
---|---|
[PHP] Form ,$_SERVER (0) | 2024.09.28 |
[PHP] PHP 기본 문법 (0) | 2024.09.24 |