Maison  >  Article  >  développement back-end  >  Comment utiliser setcookie() en php pour que les cookies n'expirent jamais

Comment utiliser setcookie() en php pour que les cookies n'expirent jamais

青灯夜游
青灯夜游original
2021-09-30 16:39:453410parcourir

En PHP, il vous suffit de définir la valeur du troisième paramètre de la fonction setcookie() pour qu'elle soit toujours supérieure à l'heure système actuelle. La syntaxe est "setcookie("cookie_name", "cookie_value", time()+. 99*365*24*3600 );".

Comment utiliser setcookie() en php pour que les cookies n'expirent jamais

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Lors du paramétrage d'un cookie en PHP, si la durée de validité n'est pas précisée, le cycle de vie est la période du navigateur, qui peut également être appelé. Si vous ne l'enregistrez pas, il disparaîtra une fois le navigateur fermé et rouvert.

Si vous définissez une période de validité plus longue pour le cookie (toujours supérieure à l'heure actuelle du système), vous pouvez faire en sorte que le cookie n'expire jamais. Le troisième paramètre $expire de la fonction setcookie() permet de définir la durée de validité du cookie. Par exemple, le code suivant :

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

Description :

setcookie() Le format de syntaxe de la fonction est le suivant : 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

La description du paramètre est la suivante :

  • $name : définissez le nom du cookie ;
  • $value : paramètre facultatif, utilisé pour définir la valeur du cookie. La valeur de $value peut être obtenue sous la forme $_COOKIE['$name'];
  • $expire : paramètre facultatif, utilisé pour définir le délai d'expiration du cookie, qui se présente sous la forme de un horodatage Unix. S'il est défini sur zéro ou omis, le cookie expirera à la fin de la session (c'est-à-dire lorsque le navigateur est fermé)
  • $path : paramètre facultatif, utilisé pour définir le chemin de serveur valide du biscuit. Lorsqu'il est défini sur '/', le cookie est valide pour l'ensemble du nom de domaine $domain. S'il est défini sur '/foo/', le cookie n'est valide que pour le répertoire /foo/ et ses sous-répertoires dans $domain (tels que /foo/bar/). La valeur par défaut est le répertoire lors de la configuration du cookie ;
  • $domain : paramètre facultatif, utilisé pour définir le nom de domaine/sous-domaine effectif du cookie. Le définir sur un sous-domaine (par exemple, « c.biancheng.net ») rendra le cookie valide pour ce sous-domaine et son domaine de troisième niveau (par exemple, php.c.biancheng.net). Pour rendre le cookie valide pour l'ensemble du nom de domaine (y compris tous ses sous-domaines), il suffit de le définir sur le nom de domaine (comme 'biancheng.net') ;
  • $secure : paramètre facultatif, utilisé pour définir this Indique si le cookie est uniquement transmis au client via des connexions HTTPS sécurisées. Lorsqu'il est défini sur TRUE, le cookie ne sera défini que lorsqu'une connexion sécurisée existe ;
  • $httponly : paramètre facultatif, lorsqu'il est défini sur TRUE, le cookie n'est accessible que via le protocole HTTP, ce qui signifie que le le cookie n'est pas accessible via un JavaScript similaire. Un tel accès au langage de script. La définition de ce paramètre peut réduire efficacement le risque d'attaques XSS.
time()Renvoie l'heure actuelle en secondes depuis l'époque Unix (1er janvier 1970 00:00:00 GMT). Apprentissage recommandé : "🎜Tutoriel vidéo PHP🎜"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn