【问题标题】:cookies set with php are being cleared on browser close用 php 设置的 cookie 在浏览器关闭时被清除
【发布时间】:2012-05-02 06:56:34
【问题描述】:

使用 PHP 5.3.10 我在登录时设置了一些 cookie。但是,无论是浏览器、url,还是我尝试设置的附加参数,当我关闭浏览器并返回时,cookie 总是消失。

在php中:

setcookie( $key, $value, time()+2592000, '/' );

我已尝试设置域、安全/http 参数,但它们似乎对此没有影响。

我已经在 Firefox 12、Safari、Chrome 上试过这个。没有设置在退出/重启时清除 cookie。

http头示例:

Set-Cookie: authentication_key=24...b6; expires=Thu, 31-May-2012 22:49:26 GMT; path=/

当我关闭浏览器并返回完全相同的地址(http/s 或 www 没有变化)时,cookie 就消失了。

【问题讨论】:

  • 这是一个很长的镜头,但如果你的服务器发送一个虚假的Date: 标头,它真的会搞砸这样的事情。
  • 你如何测试 cookie 已经消失了?
  • 在所有浏览器中,我打开显示当前域 cookie 的检查器。

标签: php cookies


【解决方案1】:

即使您将它们设置为不过期,浏览器或操作系统仍然可以出于多种原因删除它们,这是最常见的用户设置。

【讨论】:

  • 这发生在所有用户身上,而不仅仅是我。
  • 很奇怪。此外,使用会话而不是 cookie 登录系统也是一个好主意,它们更安全
  • 我们这样做,这适用于希望在返回时重新进行身份验证的人。
猜你喜欢
  • 2010-12-19
  • 1970-01-01
  • 2015-06-13
  • 2016-07-16
  • 2018-02-25
  • 1970-01-01
  • 1970-01-01
  • 2011-11-18
  • 2019-12-03
相关资源
最近更新 更多