首页 >后端开发 >php教程 >如何在 PHP 中创建没有过期日期的持久 Cookie?

如何在 PHP 中创建没有过期日期的持久 Cookie?

Linda Hamilton
Linda Hamilton原创
2024-12-02 12:36:15801浏览

How Can I Create a Persistent Cookie in PHP Without an Expiration Date?

延长持久会话的 Cookie 过期时间

在开发需要持久用户会话的 Web 应用程序时,经常会出现将 cookie 设置为永不过期的要求。然而,PHP 文档建议设置 cookie 的过期日期。虽然您可以将 Cookie 设置为在会话结束时或将来过期,但您可能想知道是否有办法使 Cookie 无限期地持续有效。

Cookie 过期限制

不幸的是,根据 Cookie 规范,所有 Cookie 都有有效期。此过期不是 PHP 限制,而是 cookie 的基本属性。

近似永不过期

要模拟永不过期的 cookie,您可以设置一个遥远的未来日期作为过期时间。例如,您可以将 Cookie 设置为十年后过期:

setcookie(
  "CookieName",
  "CookieValue",
  time() + (10 * 365 * 24 * 60 * 60)
);

此方法有效地将 Cookie 的生命周期延长到用户的典型会话或设备使用时间范围之外。

32 -位 PHP 限制

请注意,对于 32 位 PHP,设置过期日期2038 可能会导致环绕效应,有效地导致 cookie 立即过期。

浏览器限制

2023 年,网络浏览器已开始强制执行最长过期时间cookie 的日期。从 Chrome 版本 M104 开始,cookie 的过期日期不能再超过未来 400 天。

以上是如何在 PHP 中创建没有过期日期的持久 Cookie?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn