将 cookie 设置为永不过期

新手上路,请多包涵

查看 有关设置 cookie 的 php 文档, 我发现我可以为 cookie 设置过期日期。您可以将 cookie 设置为在浏览器会话结束时或将来某个时间过期,但我看不到将 cookie 设置为永不过期的方法。这甚至可能吗?这是如何实现的?

原文由 brainimus 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 804
2 个回答

所有 cookie 根据 cookie 规范 过期,因此这不是 PHP 限制。

使用遥远的未来日期。例如,设置一个十年后过期的 cookie:

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

请注意,如果您在 32 位 PHP 中将日期设置为 2038 年之后,则该数字将回绕,您将获得一个立即过期的 cookie。

原文由 Joeri Hendrickx 发布,翻译遵循 CC BY-SA 4.0 许可协议

每当 此处 的链接发布时,Chrome cookie 最多可以存活 400 天。 Chrome 在此响应时很重要,因此我会将 cookie 的过期时间设置为 400 天或更短。

如果你不想点击链接,它总结说:

当 cookie 设置有明确的 Expires/Max-Age 属性时,该值现在将被限制为未来不超过 400 天。以前,没有限制,cookie 在未来可能会过期数千年。

原文由 JCollier 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题