Assurer l'immortalité des cookies
Le problème de l'expiration des cookies peut être un obstacle au maintien des données persistantes. Cependant, approfondissons le problème et explorons la solution pour définir des cookies qui n'expirent jamais.
La documentation sur les cookies de PHP fournit des options pour définir une date d'expiration, mais aucune n'indique explicitement "ne jamais expirer". Une telle configuration est-elle possible ? Si oui, comment y parvenir ?
La réponse réside dans le fait de profiter d’une date d’expiration lointaine. En fixant le délai d'expiration dans le futur, nous prolongeons efficacement la durée de vie du cookie. Pour ce faire, nous pouvons utiliser un code comme celui-ci :
setcookie( "CookieName", "CookieValue", time() + (10 * 365 * 24 * 60 * 60) );
Avec cette approche, nous fixons la date d'expiration du cookie à dix ans à compter de l'heure actuelle. En choisissant une date ultérieure suffisamment lointaine, nous éliminons effectivement la possibilité d'expiration prématurée du cookie.
Notez cependant qu'il existe des limites à cette approche lors de l'utilisation de versions PHP 32 bits. Les dates au-delà de 2038 peuvent ne pas être représentées avec précision en raison d'un débordement numérique.
Plus récemment, les navigateurs Web modernes ont imposé des restrictions supplémentaires. Par exemple, Chrome M104 limite les dates d'expiration des cookies à 400 jours dans le futur. Cela signifie que l'approche des dates lointaines peut ne pas être efficace dans tous les scénarios.
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!