首页 文章

Firefox会话cookie

提问于
浏览
98

一般来说,当给定一个没有有效期的cookie时,现代浏览器会认为这个cookie是一个“会话cookie”,他们会在浏览会话结束时删除cookie(通常是在浏览器实例关闭时) .

IE,Opera,Safari和Chrome都支持这种行为 .

然而,firefox(3.0.9最新版本)似乎没有遵循这条规则,我可以告诉它在浏览器关闭时,或者当用户注销或重新启动操作系统时不会使cookie过期 .

那么,为什么firefox将它们称为会话cookie,当它们无限期地持续存在时呢?

有谁知道Firefox如何处理会话cookie过期?

7 回答

  • 108

    这显然是设计上的 . 看看这个Bugzilla错误:https://bugzilla.mozilla.org/show_bug.cgi?id=443354

    Firefox具有关闭Firefox的功能,它可以保存所有选项卡,然后恢复浏览器并返回这些选项卡 . 那叫做会话恢复 . 我没有意识到它也将恢复这些页面的所有会话cookie!它就像你从未关闭浏览器一样对待它 .

    这在某种意义上是有道理的,如果你的浏览器崩溃了,你就会回到原来的位置,但对于用于会话cookie的web开发者来说,这有点令人不安 . 几个月前我有一些旧的会话cookie,这些cookie是由我总是在标签中打开的网站设置的 .

    要对此进行测试,请关闭浏览器中的所有选项卡,然后关闭浏览器并重新启动它 . 我认为在这种情况下,您网站的会话cookie应该清楚 . 否则你必须关闭会话恢复 .

  • 1

    两个想法:

  • -1

    这应该工作 . 我曾经是cookie模块测试人员之一,我认为没有任何设计理由会出现不同的行为(尽管如果崩溃,会话cookie可能会被设计为在重新启动时继续存在...)

    您是否在“首选项”菜单>“隐私”选项卡>“显示Cookie ...”按钮中查看Cookie?

    另外,你尝试过新的 Profiles 吗?

  • 0

    这是共享用户环境中的一个问题 . 如果我设置了一个在会话结束时设置为过期的身份验证cookie . 在浏览器关闭并且另一个用户启动Firefox后,这将在Firefox中持续存在 . 由于某种原因,Cookie设置了有效期!

  • 0

    莫斯拉已经离开了这几年,我感到很沮丧 .

    好的..所以我退出FF并关闭电脑 . 第二天FF启动并打开最后一组页面(非常方便的功能)但是它会恢复会话并且我重新登录到没有“保存我的设置”功能的站点 . 我知道,因为它们是我建造的网站 . 无论我使用php ini设置做什么,都会恢复会话 .

    他们绝对不应该恢复 . 页面是,但cookie ini的会话设置为'0'否 .

    我不明白为什么这不被标记为安全漏洞 . 当然,我可以在服务器端进行一些额外的检查,根据上次登录的时间查看是否应该允许登录,但不应该需要 .

    会话不应该持续 . FF正在操纵cookie到期设置 .

  • 3

    我不同意上面的meandmycode .

    HTTP规范https://www.ietf.org/rfc/rfc6265.txt讨论了客户端应该如何处理带有Expires的Set-Cookie标头:

    如果服务器希望用户代理将cookie保持在多个“会话”上(例如,用户代理重新启动),则服务器可以在Expires属性中指定到期日期 . 请注意,如果用户代理的cookie存储超过其配额,或者用户手动删除服务器的cookie,则用户代理可能会在到期日期之前删除cookie .

    这个逻辑扩展是服务器必须要求浏览器在退出时不维护Cookie的唯一方法是不设置Expires值(即会话cookie) . 如果浏览器不遵守该语义,那么它不会尊重服务器的响应 .

    本质上,用户代理决定忽略服务器请求,并且就像设置了Expires值一样 .

  • 5

    那对我来说是令人不安的 . 我的系统已设置好,以便用户可以点击EXIT,从而销毁所有会话cookie . 但是如果用户在没有实际选择退出的情况下关闭浏览器,我希望会话cookie被清除 .

    我实际上是用谷歌Chrome,IE 9测试过的,并且工作正常 . 但Firefox是不愿意杀死这个“会话”(由Firebug报道)cookie .

    OK. This is what I did. I chose Exit from FireFox main menu and from then on, did it fine as expected (Dont know why).

相关问题