session.cookie_lifetime不适用于Firefox?

时间:2012-01-03 10:26:55

标签: php zend-framework firefox

Zend应用程序中,当我们关闭 时,我正在尝试让 经过身份验证的用户自动注销 他们的浏览器

为此,我写下以下代码:

ini_set('session.cookie_lifetime', 0);

它在 Chrome,Safari,IE7和IE8 等浏览器上运行正常,但在Firefox的情况下 ,用户在关闭浏览器时仍会保持登录状态。

有谁知道造成问题的原因是什么?

提前谢谢......

1 个答案:

答案 0 :(得分:3)

0表示"会话cookie" - 即当"会话"浏览器应该销毁的那个。结束了,浏览器关闭了。

然而:

  • 不同的浏览器对" session"的确切含义有不同的解释。是 - 当你关闭标签时有些会破坏这些cookie,有些会在你关闭窗口时破坏,有些人不会破坏cookie直到浏览器的所有实例都关闭 - 所有窗口中的所有标签。
  • 由于cookie由客户存储和传输,因此完全由客户负责。你不应该单独依靠cookie来控制用户是否拥有有效的登录信息,因为它们非常容易被欺骗,你也应该实现某种活动超时。

确保在测试时确实已经结束了Firefox会话 - 关闭所有打开的标签和窗口,并观察进程列表以确保没有实例。如果你仍然遇到问题,你可能正在考虑Firefox中的某种错误(或者你在about:config中做了一些奇怪的改变),你需要寻求特定于Firefox的帮助 - { {3}}会是一个更好的地方。您可以相当确定的一件事是,如果它在其他任何地方都有效,那么您的PHP就没有问题。