我试图在我的浏览器中禁用 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 的解决方案。