IE实际上并没有删除Cookie。

24

在几乎所有浏览器中(我已经测试了IE、Firefox和Chrome),按下Ctrl+Shift+Del会弹出删除对话框,您可以删除cookies表单数据密码等。

Firefox和Chrome都能很好地处理这个功能。然而,IE一如既往地表现不同。它显示所有内容都已删除,但实际上仍保留了很多东西。

为了测试它,我只需登录一个网站,以便在我的浏览器上设置其身份验证cookie。然后我删除所有的cookie。接着,我请求该站点的私有页面(只提供给已登录用户)。猜怎么着?在Chrome和Firefox中,我会被重定向到登录页面,但在IE中,我仍然保持登录状态。

有任何想法吗?


+1:IE 不要触碰活动登录。 - Kris
4个回答

22

我在IE9中遇到了同样的问题,清除浏览器缓存和cookie并不会实际删除我的网站登录cookie。最终,我通过取消对话框中的第一个选项以及cookie选项(保留收藏夹网站数据)解决了这个问题。(我会上传图片的,但我是新手...)


我遇到了这个问题,IE似乎会保留活动选项卡的Cookie。也就是说:如果您已登录,请删除Cookie并刷新网站,您仍然可以登录。如果您在另一个选项卡中打开该网站,则会注销。完全没有意义... - Matthias Kleine

11

有两种类型的Cookie:会话Cookie和持久Cookie。在您的情况下,应该考虑使用会话Cookie。

在IE 9中,当您使用Ctrl+Shift+Del选项时,您仅删除持久Cookie。
如果想要删除会话Cookie,您必须按F12以打开开发人员工具,点击缓存然后选择删除会话Cookie


1
这似乎是我在IE11中遇到的相同行为。您知道是否有文档描述IE中的此行为吗? - Peter Tirrell
1
@PeterTirrell 请看这个链接:https://dev59.com/WmIj5IYBdhLWcg3wHh3_ - Paweł Adamski

1

首先,关闭所有IE窗口和选项卡,然后从控制面板打开“Internet Options”,从那里删除Cookie。

此外,正如Chuck所说,不要忘记在对话框中取消选择第一个选项以及Cookie选项(保留收藏夹网站数据)。

您还可以保持此窗口打开以查看删除过程的结果: C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Cookies (ie 11)


1

我假设您的身份验证 cookie 是一个会话 cookie。当浏览器关闭时,它将被删除,并且通常仅存储在内存中。由于它已经是私有的,因此从隐私角度来看,更快地删除它没有多少意义。

现在,一些浏览器可能仍然会提前删除它。当它们恰好拥有统一的 cookie 存储时,只需删除所有 cookie 更容易。但对于单独处理会话 cookie 的浏览器,没有充分的理由来复制 cookie 删除逻辑。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接