2012-01-03 46 views
3

在我Zend的应用,我试图让我们的身份验证的用户被自动注销在关闭浏览器session.cookie_lifetime不适用于Firefox?

为此,我会写下面的代码:

ini_set('session.cookie_lifetime', 0);

及其对像的Chrome,Safari浏览器,IE7和IE8浏览器工作正常,但在Firefox的情况下,用户仍然当他们关闭浏览器时登录。

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

在此先感谢...

回答

3

0值表示“会话cookie” - 即一个浏览器应该破坏时,“会议”结束,关闭浏览器。

但是:

  • 不同的浏览器有什么“会话”是不同的解释 - 一些会破坏这些cookie,当你关闭的标签,有的当您关闭窗口时,一些不会破坏直到浏览器的所有实例都关闭 - 所有窗口中的所有选项卡。
  • 由于cookie由客户端存储和传输,它们完全是客户端的责任。你不应该单独依靠cookie来控制用户是否拥有有效的登录,因为他们很容易被欺骗,你还应该实现某种活动超时。关闭所有打开的标签和窗口,看进程列表以确保没有留下实例 -

确保测试时,你实际上已经结束了你的Firefox会议。如果您仍然遇到问题,您可能正在寻找Firefox中的某种错误(或者您在about:config中做了一些奇怪的更改),并且您需要询问Firefox特定的帮助 - SuperUser.com将会是更好的地方那。你可以确信的一件事是,如果它在其他地方工作,它不是你的PHP的问题。

相关问题