1

我试图在我的浏览器中禁用 cookie,并检查它们是否在我的 .Net 网络应用程序中被禁用。

我在页面上存储一个这样的cookie:

HttpResponse response = HttpContext.Current.Response;

response.Cookies[cookieKey].Value = cookieValue.ToString();

在另一个页面上,我正在检索这样的 cookie:

cookieValue = request.Cookies[cookieKey].Value;

我试图在我的浏览器中禁用 cookie 以使上述代码失败,但我似乎无法做到这一点。我正在使用 Internet Explorer 7 和 8。(我正在使用这两种浏览器,因为 IE7 是我公司当前的标准,而 IE8 是未来的公司标准)。

在这两个浏览器中,我都去了Internet Options > Privacy > Advanced,并检查了覆盖 cookie 处理,并阻止了第一方和第三方 cookie(也删除了任何现有的 cookie/历史/临时文件)。

这样做之后,我希望上面的代码不起作用,但它仍然有效。我仍然可以从 cookie 中设置和检索值。知道为什么吗?我想也许 cookie 实际上并没有被禁用,但如果我转到hotmail.com,它会给我一条错误消息,上面写着“您的浏览器必须允许 cookie 才能使用 Windows Live ID。” 所以我不知道。

为什么访问我的 ASP.Net 站点时 cookie 仍然有效?

2012 年 5 月 14 日更新:

本地 Intranet 站点上似乎忽略了隐私选项卡中的 cookie 设置(我不知道这是否正常),所以这给了我问题。然而,我确实想出了一种不同的方法来禁用 cookie(我需要它来进行测试),即使对于 Intranet 站点也是如此。在 IE8 中,我转到Tools > Developer Tools > Cache > Disable Cookies。这按预期工作,我可以完成我的测试。但是我仍然没有找到 IE7 的解决方案。

4

1 回答 1

3

您在本地运行网站吗?

我在 SuperUser 上问过类似的问题。

据我所知,Sparky 是正确的。localhost / 127.0.0.1 将始终接受 cookie,无论您的设置如何。

于 2012-05-09T14:47:38.547 回答