쿠키는 클라이언트의 컴퓨터에 저장되고 추적 목적으로 보관되는 텍스트 파일입니다. PHP는 HTTP 쿠키를 투명하게 지원합니다.
재방문 사용자를 식별하는 데는 세 단계가 필요합니다
● 서버 스크립트는 일련의 쿠키를 브라우저에 보냅니다. 나이 등.
● 브라우저는 나중에 사용할 수 있도록 이 정보를 귀하의 컴퓨터에 로컬로 저장합니다.
● 다음에 브라우저가 웹 서버에 요청을 보낼 때 보낸 이 쿠키 정보를 사용합니다. 사용자를 식별하기 위해 정보를 사용하는 서버에.
이 장에서는 쿠키 설정 방법, 쿠키 액세스 방법 및 삭제 방법을 설명합니다.
쿠키 분석
쿠키는 일반적으로 HTTP 헤더에 설정됩니다(JavaScript가 브라우저에서 직접 쿠키를 설정할 수도 있음). 쿠키를 설정하는 PHP 스크립트는 다음과 같은 헤더를 보낼 수 있습니다(브라우저 F12, 네트워크에서 볼 수 있음)
HTTP/1.1 200 OK Date: Fri, 04 Feb 2000 21:03:38 GMT Server: Apache/1.3.9 (UNIX) PHP/4.0b3 Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; path=/; domain=jc2182.com Connection: close Content-Type: text/html
보시다시피 Set-Cookie 헤더에는 이름-값 쌍, GMT 날짜가 포함됩니다. , 경로 및 도메인. 이름과 값은 URL로 인코딩됩니다. 만료 필드는 주어진 시간과 날짜 이후에 쿠키를 삭제하라는 브라우저의 지시입니다. 브라우저가 쿠키를 저장하도록 구성된 경우 이 정보는 만료일까지 유지됩니다. 사용자가 쿠키의 경로 및 도메인과 일치하는 페이지를 브라우저에 지정하면 쿠키가 서버로 다시 전송됩니다. 브라우저 제목은 다음과 같습니다.
GET / HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc) Host: zink.demon.co.uk:1126 Accept: image/gif, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Cookie: name=xyz
그러면 PHP 스크립트는 모든 쿠키 이름과 값이 포함된 환경 변수 $_COOKIE에 액세스할 수 있습니다.
PHP로 쿠키 설정
PHP는 쿠키를 설정하는 setcookie() 함수를 제공합니다. 이 함수는 최대 6개의 매개변수를 사용하며 태그 전에 호출해야 합니다. 이 함수는 각 쿠키 세트에 대해 개별적으로 호출되어야 합니다.
setcookie(name, value, expire, path, domain, security);
모든 매개변수의 세부정보는 다음과 같습니다
● name - 쿠키의 이름을 설정합니다.
● 값 - 명명된 변수의 값을 설정하며 저장하려는 실제 콘텐츠입니다.
● Expire - 1970년 1월 1일 00:00:00 GMT 이후의 미래 시간(초)을 지정합니다. 이 시간이 지나면 쿠키에 접근할 수 없습니다. 이 매개변수가 설정되지 않으면 웹 브라우저가 닫힐 때 쿠키가 자동으로 만료됩니다.
● path - 쿠키가 유효한 디렉터리를 지정합니다. 단일 슬래시 문자를 사용하면 쿠키가 모든 디렉터리에 대해 유효할 수 있습니다.
●Domain - 매우 큰 도메인에서 도메인 이름을 지정하는 데 사용할 수 있으며 유효 기간이 두 개 이상 포함되어야 합니다. 모든 쿠키는 쿠키가 생성된 호스트와 도메인에 대해서만 유효합니다.
● security - 쿠키가 HTTPS를 사용하는 보안 전송을 통해서만 전송되어야 함을 지정하려면 1로 설정하고, 그렇지 않으면 쿠키가 일반 HTTP를 통해 전송될 수 있음을 의미하는 0으로 설정될 수 있습니다.
다음 예에서는 이름과 나이라는 두 개의 쿠키를 생성합니다. 이 쿠키는 1시간 후에 만료됩니다.
<?php setcookie("name", "John Watkin", time()+3600, "/","", 0); setcookie("age", "36", time()+3600, "/", "", 0); ?> <html> <head> <title>用PHP设置Cookies</title> </head> <body> <?php echo "设置 Cookies"?> </body> </html>
팁: time() 함수는 현재 타임스탬프를 반환합니다. 이는 1970년 1월 1일 0:00:00부터 스크립트가 실행되는 순간까지의 초 수입니다. .
브라우저를 열어 스크립트에 액세스한 다음 F12를 눌러 개발자 모드를 열고 네트워크 탭을 선택한 다음 헤더를 선택하면 다음 그림을 볼 수 있습니다.
# 🎜 🎜#PHP를 사용하여 쿠키에 액세스
PHP는 쿠키에 액세스하는 다양한 방법을 제공합니다. 가장 쉬운 방법은 $_COOKIE 변수를 사용하는 것입니다. 다음 예에서는 위 예에서 설정된 모든 쿠키에 액세스합니다.<html> <head> <title>用PHP访问cookie</title> </head> <body> <?php echo $_COOKIE["name"]. "<br />"; echo $_COOKIE["age"] . "<br />"; ?> </body> </html>
<html> <head> <title>用PHP访问cookie</title> </head> <body> <?php if(isset($_COOKIE["name"])) echo $_COOKIE["name"]. "<br />"; if(isset($_COOKIE["age"])) echo $_COOKIE["age"] . "<br />"; ?> </body> </html>
PHP로 쿠키 삭제
공식적으로 말하면, 쿠키를 삭제하려면 이름 매개변수와 함께 setcookie()를 호출하면 됩니다. 이는 해당 이름을 삭제하고 비워두기를 원한다는 의미입니다.] 그러나 이것이 항상 작동하는 것은 아니며 의존해서는 안 됩니다. 가장 안전한 방법은 만료 날짜를 설정하는 것입니다 / 과거 시간을 현재 시간보다 60초 전으로 설정/<?php /* 设置过去时间为当前时间的之前的60秒 */ setcookie( "name", "", time()- 60, "/","", 0); setcookie( "age", "", time()- 60, "/","", 0); ?> <html> <head> <title>用PHP删除cookie</title> </head> <body> <?php echo "删除cookie" ?> </body> </html>
위 내용은 PHP는 쿠키를 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!