Cookie在某些浏览器中无效

时间:2012-01-20 00:21:39

标签: c# cookies asp.net-4.0

我遇到了一个奇怪的问题......

我的网站用户中有1个无法写入所有Cookie,因此我网站上的某些功能无效。

我似乎无法弄清楚为什么会这样,在谷歌浏览器中,身份验证cookie写得很好,但是不会写入网站所需的另一个cookie(一种数据转储)。

在Internet Explorer中,它根本不会写任何cookie。

我已将两个浏览器设置为与工作浏览器完全相同的设置,但它似乎没有任何区别。

现在我想知道这是我的网站是不是问题,或者它是否是用户计算机。因为这是一个有问题的用户,而我有300个其他用户根本没有这个问题..

我希望你能对此有所了解,因为它非常令人沮丧......

1 个答案:

答案 0 :(得分:2)

最可能的原因是您在设置Cookie的响应中没有设置紧凑的隐私政策。

如果没有紧凑的隐私政策,某些浏览器(最明显的是IE)会拒绝cookie,特别是如果它们是第三方(不是来自与地址栏中的URL相同的域),或者浏览器是否具有安全性模式设置为高。

对于ASP.NET,我的书中的一些代码将设置一个基本策略:

this.Response.AddHeader("P3P", "CP=\"NID DSP CAO COR\"");

每当你设置一个cookie时,你都需要这样做。

另一个可能的原因是Cookie太多或者总大小太大,但由于它在某些浏览器而不是其他浏览器中工作,因此P3P问题似乎更有可能。