我遇到了一个奇怪的问题......
我的网站用户中有1个无法写入所有Cookie,因此我网站上的某些功能无效。
我似乎无法弄清楚为什么会这样,在谷歌浏览器中,身份验证cookie写得很好,但是不会写入网站所需的另一个cookie(一种数据转储)。
在Internet Explorer中,它根本不会写任何cookie。
我已将两个浏览器设置为与工作浏览器完全相同的设置,但它似乎没有任何区别。
现在我想知道这是我的网站是不是问题,或者它是否是用户计算机。因为这是一个有问题的用户,而我有300个其他用户根本没有这个问题..
我希望你能对此有所了解,因为它非常令人沮丧......
答案 0 :(得分:2)
最可能的原因是您在设置Cookie的响应中没有设置紧凑的隐私政策。
如果没有紧凑的隐私政策,某些浏览器(最明显的是IE)会拒绝cookie,特别是如果它们是第三方(不是来自与地址栏中的URL相同的域),或者浏览器是否具有安全性模式设置为高。
对于ASP.NET,我的书中的一些代码将设置一个基本策略:
this.Response.AddHeader("P3P", "CP=\"NID DSP CAO COR\"");
每当你设置一个cookie时,你都需要这样做。
另一个可能的原因是Cookie太多或者总大小太大,但由于它在某些浏览器而不是其他浏览器中工作,因此P3P问题似乎更有可能。