>  기사  >  백엔드 개발  >  PHP에서 setcookie()를 사용하여 쿠키가 만료되지 않도록 설정하는 방법

PHP에서 setcookie()를 사용하여 쿠키가 만료되지 않도록 설정하는 방법

青灯夜游
青灯夜游원래의
2021-09-30 16:39:453410검색

PHP에서는 setcookie() 함수의 세 번째 매개변수 값을 항상 현재 시스템 시간보다 크게 설정하기만 하면 됩니다. 구문은 "setcookie("cookie_name", "cookie_value", time()+ 99*365*24*3600);".

PHP에서 setcookie()를 사용하여 쿠키가 만료되지 않도록 설정하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP에서 쿠키를 설정할 때 유효 기간을 지정하지 않으면 수명 주기는 브라우저의 기간입니다. 호출도 가능합니다. 저장하지 않으면 브라우저를 닫았다가 다시 열면 사라집니다.

쿠키의 유효 기간을 더 길게 설정하면(항상 현재 시스템 시간보다 길게) 쿠키가 만료되지 않도록 할 수 있습니다. setcookie() 함수의 세 번째 매개변수 $expire는 쿠키 유효 기간을 설정하는 데 사용됩니다. 예를 들어, 다음 코드는

setcookie("cookie_name", "cookie_value", time() + 99 * 365 * 24 * 3600);

설명:

setcookie() 함수의 구문 형식은 다음과 같습니다. setcookie() 函数的语法格式如下:

setcookie(string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]])

参数说明如下:

  • $name:设置 Cookie 的名称;
  • $value:可选参数,用来设置 Cookie 的值。可以通过 $_COOKIE['$name'] 的形式来获取 $value 的值;
  • $expire:可选参数,用来设置 Cookie 的过期时间,这个时间是 Unix 时间戳的形式。如果设置成零或者忽略该参数,Cookie 会在会话结束时过期(也就是关掉浏览器时);
  • $path:可选参数,用来设置 Cookie 有效的服务器路径。 设置成 '/' 时,Cookie 对整个域名 $domain 有效。 如果设置成'/foo/',则 Cookie 仅仅对 $domain 中 /foo/ 目录及其子目录有效(比如 /foo/bar/)。默认值为设置 Cookie 时的目录;
  • $domain:可选参数,用来设置 Cookie 的有效域名/子域名。设置成子域名(例如 'c.biancheng.net'),会使 Cookie 对这个子域名和它的三级域名有效(例如 php.c.biancheng.net)。 要让 Cookie 对整个域名有效(包括它的全部子域名),只要设置成域名就可以了(例如 'biancheng.net');
  • $secure:可选参数,用来设置这个 Cookie 是否仅仅通过安全的 HTTPS 连接传给客户端。设置成 TRUE 时,只有安全连接存在时才会设置 Cookie;
  • $httponly:可选参数,设置成 TRUE 时,Cookie 仅可通过 HTTP 协议访问,也就是说 Cookie 无法通过类似 JavaScript 这样的脚本语言访问。设置该参数可以有效的减少受到 XSS 攻击的风险。

time()rrreee

매개변수 설명은 다음과 같습니다.

  • $name: 쿠키 이름을 설정합니다.
  • $value: 쿠키 값을 설정하는 데 사용되는 선택적 매개변수입니다. $value 값은 $_COOKIE['$name'] 형식으로 얻을 수 있습니다.
  • $expire: 쿠키의 만료 시간을 설정하는 데 사용되는 선택적 매개변수이며 형식은 다음과 같습니다. 유닉스 타임스탬프. 0으로 설정하거나 생략하면 쿠키는 세션 종료 시(즉, 브라우저가 닫힐 때) 만료됩니다.
  • $path: 유효한 서버 경로를 설정하는 데 사용되는 선택적 매개변수입니다. 매력적인 여자. '/'로 설정하면 쿠키는 전체 도메인 이름 $domain에 대해 유효합니다. '/foo/'로 설정되면 쿠키는 /foo/ 디렉터리와 $domain의 하위 디렉터리(예: /foo/bar/)에만 유효합니다. 기본값은 쿠키가 설정된 디렉터리입니다.
  • $domain: 쿠키의 유효 도메인 이름/하위 도메인 이름을 설정하는 데 사용되는 선택적 매개변수입니다. 이를 하위 도메인(예: 'c.biancheng.net')으로 설정하면 해당 하위 도메인과 세 번째 수준 도메인(예: php.c.biancheng.net)에 대해 쿠키가 유효해집니다. 전체 도메인 이름(모든 하위 도메인 포함)에 대해 쿠키를 유효하게 만들려면 해당 쿠키를 도메인 이름(예: 'biancheng.net')으로 설정하세요.
  • $secure: 선택적 매개변수, 설정하는 데 사용됨 this 쿠키가 보안 HTTPS 연결을 통해서만 클라이언트에 전달되는지 여부입니다. TRUE로 설정하면 보안 연결이 존재할 때만 쿠키가 설정됩니다.
  • $httponly: 선택 매개변수이며, TRUE로 설정하면 쿠키는 HTTP 프로토콜을 통해서만 액세스할 수 있습니다. 쿠키는 유사한 JavaScript와 같은 스크립팅 언어 액세스를 통해 액세스할 수 없습니다. 이 매개변수를 설정하면 XSS 공격 위험을 효과적으로 줄일 수 있습니다.
time()Unix 시대(1970년 1월 1일 00:00:00 GMT) 이후의 현재 시간을 초 단위로 반환합니다. 추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜

위 내용은 PHP에서 setcookie()를 사용하여 쿠키가 만료되지 않도록 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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