>백엔드 개발 >PHP 문제 >PHP에서 쿠키를 지우는 방법

PHP에서 쿠키를 지우는 방법

藏色散人
藏色散人원래의
2021-07-05 10:59:354877검색

PHP에서 쿠키를 지우는 방법은 이 쿠키의 유효 기간을 현재 시간 이전으로 설정하는 것입니다. 구현 코드는 "setcookie('test',time() - 3600);"과 같습니다.

PHP에서 쿠키를 지우는 방법

이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP로 쿠키를 삭제하는 방법 PHP는 COOKIE를 삭제할 수 없나요? 쿠키 유효 기간 설정

PHP는 HTTP 쿠키를 투명하게 지원합니다. 쿠키는 원격 브라우저 측에 데이터를 저장하고 이를 사용하여 사용자를 추적하고 식별하는 메커니즘입니다. 쿠키는 setcookie() 또는 setrawcookie() 함수를 사용하여 설정할 수 있습니다. 쿠키는 HTTP 헤더의 일부이므로 다른 정보가 브라우저에 출력되기 전에 setcookie() 함수를 호출해야 하며 이는 헤더에 대한 제한 사항과 유사합니다. () 기능.

setcookie();

쿠키를 삭제하는 방법은 이 쿠키의 유효 기간을 현재 시간 이전으로 설정하는 것입니다

setcookie('test', 'true', time() + 300); // 创建 cookie
//setcookie('test',time() - 3600 );  // 清除建立的 cookie
//setcookie('test'); //只是将 $_COOKIE['test'] 的值清空
如果直接setcookie('test', '');
echo '
';
print_r($_COOKIE); //attay();

$_COOKIE['test']가 비어 있는 것이 아니라 $_COOKIE 배열도 비어 있다는 것을 알 수 있습니다. Winsock은 패킷을 캡처하고 반환을 관찰합니다.

http 헤더는 다음과 같습니다. set-cookie:test=deleted; 만료=Mon, 29-May-2014 10:22:15 GMT

Login:

setcookie('username', 'zhangsan', time()+1000, "/php100");

Exit:

setcookie('username', '', time()-3600);

IE 종료 시 다운로드에는 문제가 없지만 Firefox에서 테스트해 보니 로그인이 정상이고 종료할 수 없는 것을 발견했습니다. IE와 Firefox의 쿠키 기록 차이를 확인해보니 네 번째 매개변수가 있는 것으로 나타났습니다. setcookie()의 (법적 경로 매개변수)가 지정되지 않아 로그인과 로그아웃 시 설정되는 쿠키의 경로가 다릅니다(Firefox가 더 엄격하여 다양한 변수를 재구성하게 됩니다)

찾아보니 IE에서는 로그아웃 시에는 문제가 없으나, Firefox에서 테스트해보니 로그인은 정상이고 로그아웃이 되지 않습니다. IE를 확인해 보세요. 테스트

결과 네 번째 매개변수(합법적)가 발견되었습니다. setcookie()의 경로 매개변수)가 지정되지 않아 로그인 및 종료 시 설정되는 쿠키의 경로가 달랐습니다(Firefox가 더 엄격하여 다른 각 변수가 다시 빌드되었습니다)

예:

$value = 'something';
setcookie('TestCookie', $value, time() + 3600);
setcookie('mytest', $value, time() + 3600, "~rasmus", ".maoge.com", 1);
if (isset($_COOKIE['TestCookie']))
{
echo 'TestCookie :' . $_COOKIE['TestCookie'];
}

추천 학습: "

PHP 비디오 튜토리얼

"

위 내용은 PHP에서 쿠키를 지우는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.