Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie setcookie() in PHP, um Cookies so festzulegen, dass sie niemals ablaufen

So verwenden Sie setcookie() in PHP, um Cookies so festzulegen, dass sie niemals ablaufen

青灯夜游
青灯夜游Original
2021-09-30 16:39:453410Durchsuche

In PHP müssen Sie nur den Wert des dritten Parameters der Funktion setcookie() so einstellen, dass er immer größer als die aktuelle Systemzeit ist. Die Syntax lautet „setcookie(“cookie_name“, „cookie_value“, time()+ 99*365*24*3600 );".

So verwenden Sie setcookie() in PHP, um Cookies so festzulegen, dass sie niemals ablaufen

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Wenn beim Setzen eines Cookies in PHP der Gültigkeitszeitraum nicht angegeben ist, ist der Lebenszyklus der Zeitraum des Browsers kann auch aufgerufen werden. Wenn Sie es nicht speichern, ist es verschwunden, nachdem Sie den Browser geschlossen und erneut geöffnet haben.

Wenn Sie eine längere Gültigkeitsdauer für das Cookie festlegen (immer größer als die aktuelle Systemzeit), können Sie festlegen, dass das Cookie niemals abläuft. Der dritte Parameter $expire der Funktion setcookie() wird verwendet, um die Gültigkeitsdauer des Cookies festzulegen. Zum Beispiel der folgende Code:

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

Beschreibung:

setcookie() Das Syntaxformat der Funktion lautet wie folgt: 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

Die Parameterbeschreibung lautet wie folgt:

  • $name: Legen Sie den Namen des Cookies fest;
  • $value: Optionaler Parameter, der zum Festlegen des Cookie-Werts verwendet wird. Der Wert von $value kann in der Form $_COOKIE['$name'] erhalten werden;
  • $expire: optionaler Parameter, der zum Festlegen der Ablaufzeit des Cookies in der Form verwendet wird ein Unix-Zeitstempel. Wenn es auf Null gesetzt oder weggelassen wird, läuft das Cookie am Ende der Sitzung ab (d. h. wenn der Browser geschlossen wird).
  • $path: optionaler Parameter, der zum Festlegen des gültigen Serverpfads verwendet wird Plätzchen. Wenn es auf „/“ gesetzt ist, ist das Cookie für den gesamten Domänennamen $domain gültig. Wenn es auf „/foo/“ gesetzt ist, ist das Cookie nur für das Verzeichnis /foo/ und seine Unterverzeichnisse in $domain (z. B. /foo/bar/) gültig. Der Standardwert ist das Verzeichnis, in dem das Cookie gesetzt wird;
  • $domain: optionaler Parameter, der zum Festlegen des effektiven Domänennamens/Subdomänennamens des Cookies verwendet wird. Wenn Sie es auf eine Subdomain (z. B. „c.biancheng.net“) festlegen, wird das Cookie für diese Subdomain und ihre Third-Level-Domain (z. B. php.c.biancheng.net) gültig. Um das Cookie für den gesamten Domänennamen (einschließlich aller seiner Unterdomänen) gültig zu machen, setzen Sie es einfach auf den Domänennamen (z. B. „biancheng.net“);
  • $secure: optionaler Parameter, der zum Festlegen verwendet wird Dies gibt an, ob das Cookie nur über sichere HTTPS-Verbindungen an den Client weitergegeben wird. Wenn auf TRUE gesetzt, wird das Cookie nur gesetzt, wenn eine sichere Verbindung besteht;
  • $httponly: Optionaler Parameter, wenn auf TRUE gesetzt, kann auf das Cookie nur über das HTTP-Protokoll zugegriffen werden, was bedeutet, dass das Der Zugriff auf Cookies ist über JavaScript nicht möglich. Durch das Setzen dieses Parameters kann das Risiko von XSS-Angriffen effektiv reduziert werden.
time()Gibt die aktuelle Zeit in Sekunden seit der Unix-Epoche (1. Januar 1970, 00:00:00 GMT) zurück. Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie setcookie() in PHP, um Cookies so festzulegen, dass sie niemals ablaufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn