我在我的网站上的 IE7/XP 和 IE8/Vista 中发生了一个奇怪的错误。 IE 发送两个名为 PHPSESSID 的 cookie。
如何重现:
捕获的样本:
GET/en/letter_list HTTP/1.1
接受:image/gif、image/jpeg、image/pjpeg、application/x-ms-application、application/vnd.ms-xpsdocument、application/xaml+xml、application/x-ms-xbap、application/x-shockwave-闪光,/
推荐人:http://www.unisender.com/en/intro
接受语言:ru
用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.0;Trident/4.0;Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.1;SV1);SLCC1;.NET CLR 2.0.50727;.NET CLR 3.5 .21022;.NET CLR 3.5.30729;FDM;.NET CLR 3.0.30729)
接受编码:gzip、deflate
主持人:www.unisender.com
连接:保持事件
cookies :authchallenge=3a9cfcfc9fe33822e3e21d75c8a3d3e4; PHPSESSID=14ea1cb133632951592397c86eaf037e; us_reg_ref=未知; us_reg_url=http%3A%2F%2Funisender.com%2F; __utma=1.778517853.1271204400.1271204400.1271204400.1; __utmb=1.3.10.1271204400; __utmc=1; __utmz=1.1271204400.1.1.utmcsr=(直接)|utmccn=(直接)|utmcmd=(无); PHPSESSID=65e110aeb995a66b9dc8da5656c7a3da; last_login_name=testmsdn
我尝试使用 session 和非 session cookie,尝试使用 .unisender.com 而不是 unisender.com 作为 cookie - 没有任何帮助。
我想不应该有同名的 cookies 。
我对吗?它是IE中的错误吗?如果这是一个错误,那么有解决方法吗?
还是我错了,这是预期的行为?
最佳答案
这是故意的。
您不应该为站点的“无 www”版本发送 cookie,或者站点的两个版本都应该在 PHP session cookie 上设置“domain=example.com”属性。
否则,这些 cookie 实际上并不相同,因此您将收到两个。
http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx
关于internet-explorer - IE 发送多个同名 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2638344/