Chrome不会删除会话Cookie

mgs*_*mgs 179 javascript cookies session google-chrome

我正在尝试在javascript中设置会话cookie,如下所示:

document.cookie = 'name=alex; path=/'
Run Code Online (Sandbox Code Playgroud)

但即使我退出浏览器并再次启动浏览器,Chrome也不会将其删除.

我检查了Firefox和Opera,两者都按预期工作 - 他们在浏览器退出时删除了会话cookie.

Chrome是否只是忽略过期规则?

我检查了多个操作系统,发现会话cookie在Windows XP和Ubuntu中的Chrome上被删除,但在Mac OSX Lion中没有.

Jes*_*per 212

这可能是因为将Chrome设置为继续停止的位置.

在此输入图像描述

进一步阅读

  • 对.Chrome和FF都因此而破坏了会话cookie功能.对于chrome,已报告此问题:http://code.google.com/p/chromium/issues/detail?id = 128513并标记为WONTFIX.很显然,谷歌并未提供关于Chrome中的以下网络标准和安全漏洞的信息,也没有提供FF.请参阅FF错误(至少未关闭):https://bugzilla.mozilla.org/show_bug.cgi?id = 443354这两个浏览器的悲惨状态. (35认同)
  • 我尝试使用换行符很好地格式化我的评论,但是愚蠢的系统也删除了那些换行符...来吧,Stackoverflow,做一个更好的系统!我花时间让我的评论可读,对读者更有帮助,然后你首先愚蠢地认为我是垃圾邮件发送者,然后通过删除换行符来破坏它! (3认同)
  • http://www.w3.org/Protocols/rfc2109/rfc2109:Max-Age默认行为是在用户代理退出时丢弃cookie. (3认同)
  • 注意:如果您在选项中选择了"当Firefox启动时"下拉菜单时选择"在上次显示我的窗口和选项卡"选项,则可能会在Firefox中遇到完全相同的问题.出于同样的原因.根据设计,会话cookie被保留以帮助在浏览器崩溃时保持工作流程. (2认同)
  • @ lucian303,虽然这确实看起来像违反了标准,但我认为你不能"在上次继续浏览"而不"保持会话cookie活着".例如,Opera,rekonq和IE9(通过"新标签页"中的"重新打开最后一个会话"链接)实现前者而不使用后者.因此,此类浏览器可以向您显示缓存页面,这些页面错误地指示您仍然登录和/或已经使用CSRF保护令牌. (2认同)
  • 为什么它们会向您显示缓存的页面?可笑的是,一年后没有修复此错误! (2认同)

Nik*_*lev 25

我刚刚遇到了与"浏览会话结束"设置为过期的cookie相同的问题.

不幸的是它并没有让我玩浏览器的设置.

事实证明,在浏览器关闭时记住打开的选项卡的功能是问题的根源.(该功能名为"启动时" - "继续我离开的地方".至少在当前版本的Chrome上).

Opera和Firefox也会出现这种情况.

  • 不能接受的.我不希望Chrome忘记打开的窗口,因为我经常不小心退出Chrome,打开了很多标签.(感谢OS X让我滚动一个没有焦点的窗口,让我觉得它有焦点.但是,不同的故事).如果我必须重新登录,那就这样吧.当我故意放弃时不要让我退出,这使得我很难确定我还没有登录,这可能是一个很大的安全问题. (5认同)
  • 默认情况下,至少不启用此选项.[Google帮助](https://support.google.com/chrome/answer/95421?hl=zh-CN)中也提到了此"功能":"Chrome还会恢复您的浏览数据和**会话Cookie.**".IMO这应该是"继续我离开的地方"下的另一个子选项. (5认同)
  • @Michael 这没有多大意义,因为如果您已注销,大多数使用会话的网站将不允许您返回到您所在的页面。那么您是否希望浏览器从您离开的地方继续? (2认同)

NSj*_*nas 20

我刚才有这个问题.我注意到即使在我关闭浏览器后,我也运行了许多chrome进程.结果是每个来自我的chrome扩展.

在高级设置下,我取消选中'Continue running background apps when Google Chrome is closed',我的会话cookie开始按预期工作.

对于我们所有开发人员来说编码的后方仍然是一种痛苦,他们希望在用户完成浏览时会清除会话cookie

  • 对我不起作用(Windows x32上28.0.1500.72米) (3认同)
  • 它正在工作,在我禁用该选项后,我的会话 cookie 被清除了! (2认同)

小智 9

这可能是因为关闭浏览器后Chrome仍在后台运行.尝试通过执行以下操作禁用此功能:

  1. 打开chrome:// settings /
  2. 点击"显示高级设置..."
  3. 向下导航至"系统"部分,然后停用"Google Chrome关闭时继续运行后台应用".这会强制Chrome完全关闭,然后会删除会话Cookie.

但是,我认为Chrome应该检查并删除之前的会话cookie,而不是关闭.


小智 7

在Chrome的高级设置下,我必须同时取消选中这两项内容:

  • "Google Chrome关闭时继续运行后台应用"
  • "继续我离开的地方","在启动时"