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

Firefox会话cookies 一般来说,当给定一个没有到期时间的cookie时,现代浏览器会认为这个cookie是一个“会话cookie”,他们会在浏览会话结束时删除cookie(通常当浏览器实例关闭时)。,firefox,cookies,session,Firefox,Cookies,Session,IE、Opera、Safari和Chrome都支持这种行为 然而,firefox(3.0.9最新的正式版本)似乎没有遵循这一规则,从我可以看出,当浏览器关闭时,或者当用户注销或重新启动操作系统时,它不会使cookie过期 那么,为什么firefox称这些为会话cookie,而它们却可以无限期地持续下去呢 有人知道Firefox如何处理会话cookie过期吗?这应该可以。我曾经是cookie模块测试人员之一,我不认为有任何设计原因会导致这种行为不同(尽管如果崩溃,会话cookie可能被设计为在重新

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

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

那么,为什么firefox称这些为会话cookie,而它们却可以无限期地持续下去呢


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

这应该可以。我曾经是cookie模块测试人员之一,我不认为有任何设计原因会导致这种行为不同(尽管如果崩溃,会话cookie可能被设计为在重新启动时继续存在…)

您是否正在“首选项”菜单>“隐私”选项卡>“显示cookies…”按钮中查看cookies

另外,您尝试过新的个人资料吗?

有两个想法:

  • 您的会话管理器有问题(FF3中包含的会话管理器或扩展中包含的会话管理器,如tabmixplus)
  • 使用Firebug+FireCookie()进行调试
    这显然是故意的。查看这个Bugzilla错误:

    Firefox有一个功能,你可以关闭Firefox,它提供保存你所有的标签,然后你恢复浏览器,这些标签就会回来。这就是所谓的会话恢复。我没有意识到的是,它还将恢复这些页面的所有会话cookie!它将其视为您从未关闭过浏览器

    这在某种意义上是有意义的,如果你的浏览器崩溃了,你会回到原来的位置,但对于那些习惯于清除会话cookie的web开发人员来说,这有点令人不安。我有一些几个月前的旧会话cookie,它们是由我经常在选项卡中打开的站点设置的


    要对此进行测试,请关闭浏览器中的所有选项卡,然后关闭浏览器并重新启动。我认为在这种情况下,您的站点的会话cookie应该被清除。否则,您必须关闭会话还原。

    这是共享用户环境中的一个问题。如果我设置的身份验证cookie设置为在会话结束时过期。当浏览器关闭,另一个用户启动Firefox后,这种情况将持续存在Firefox中。Cookie设置了到期日期是有原因的

    这让我很不安。我的系统是这样设置的,用户可以点击退出按钮,从而销毁所有会话cookie。但是如果用户关闭浏览器而没有选择退出,我希望清除会话cookie

    事实上,我用谷歌浏览器IE 9测试了它,效果很好。但是Firefox不愿意杀死这个“会话”(据Firebug报道)cookie


    好的。这就是我所做的。我选择了从FireFox主菜单退出,从那时起,一切如期顺利(不知道为什么)。

    我很困惑,Mozilla几年来都没有改变这一点

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

    绝对不应该恢复。 页面是,但cookie ini设置为“0”的会话否

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

    会话不应持续。
    FF正在操作cookie过期设置。

    我不同意上面的meandmycode

    HTTP规范讨论了客户端应如何处理过期的Set Cookie头:

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

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


    本质上,用户代理决定忽略服务器请求,并将其视为设置了Expires值。

    在我的情况下,这是因为固定选项卡会自动恢复会话,即使在Firefox设置中禁用了此选项。因此,如果您取消锁定选项卡,会话将无法恢复。

    非常奇怪,如果这只是我测试的两个系统的一个bug,我会比较高兴。。我看过这些饼干,它们什么都没死。。而且它们绝对被firefox归类为会话cookie。。我在firefox中唯一改变的选项就是关闭和打开javascript。。我安装的插件是firebug和web开发者工具栏。。啊,好吧,干杯。还有各种各样的cookie模块首选项,但我不记得它们中有任何一个具有这种功能。FF3确实从一个文本文件切换到了一个cookie数据库,可能是您的数据库有误。我不认为这已经得到了回答。我也看到了这一点。感谢BRH的研究,我确实看到了你的回答,并打算在标记你的答案之前检查你的研究,完全忘记了!抱歉我觉得这种行为很可疑,谢谢你的研究。如果选择了“保存并退出”或“还原选项卡和窗口”,则在关闭浏览器后,所有会话cookie保持不变。“u”的唯一途径