即使你在浏览器中禁用了cookie,.NET Cookies仍然可以工作。怎么样?

时间:2012-05-09 14:40:43

标签: c# asp.net cookies

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

1 个答案:

答案 0 :(得分:3)

您是否在本地运营网站?

我有一个类似的问题I asked on SuperUser

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