我正在尝试在浏览器中禁用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选项 >
隐私 >
高级,并进行了检查覆盖cookie处理,并阻止第一方和第三方cookie(还删除了任何现有的cookie /历史/临时文件)。
在这样做之后,我希望上面的代码不起作用,但它仍然有效。我仍然可以从cookie中设置和检索值。知道为什么吗?我想也许cookie实际上没有被禁用,但如果我转到hotmail.com
,它会给我一条错误消息,说明"您的浏览器必须先允许使用Cookie才能使用Windows Live ID。" 所以我不知道。
为什么在访问我的ASP.Net网站时cookie仍然有效?
2012年5月14日更新:
似乎隐私选项卡中的cookie设置在本地Intranet站点上被忽略(我不知道这是否正常)所以这给了我一些问题。然而,我确实想出了一种不同的方法来禁用cookie(我需要用于测试目的),甚至对于Intranet站点也是如此。在IE8中,我去了工具>开发人员工具>缓存>禁用Cookie 。这按预期工作,我可以完成我的测试。但是我还没有找到IE7的解决方案。
答案 0 :(得分:3)
您是否在本地运营网站?
我有一个类似的问题I asked on SuperUser。
据我所知,Sparky是正确的。无论您的设置如何,localhost / 127.0.0.1都将始终接受cookie。