use*_*603 5 cookies internet-explorer
我在我的网站上的IE7/XP和IE8/Vista中发生了一个奇怪的错误.IE发送两个名为PHPSESSID的cookie.
如何重现:
在IE中清除cookie(如果您从未访问过unisender.com,则不需要).
访问unisender.com(完全没有www重现!),它将重定向到www.unisender.com
使用任何有效的用户名和密码登录(我已注册用户名testmsdn,密码为testmsdn - 随意用于测试)
运行你最喜欢的捕获交通程序(我更喜欢wireshark)
现在点击任何菜单链接(例如"消息")
查看捕获的流量 - 您将看到IE发送双PHPSESSID cookie(因此,您在点击后退出).似乎第一个PHPSESSID来自unisender.com,第二个来自www.unisender.com.
捕获的样本:
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
User-Agent: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)
Accept-Encoding:gzip,deflate
主持人:www.unisender.com
连接:保持活力
Cookie: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
我曾尝试使用会话和非会话cookie,尝试使用.unisender.com而不是unisender.com获取cookie - 没有任何帮助.
我想不应该有同名的cookie.
我对吗?这是IE中的错误吗?如果这是一个错误,那么有一个解决方法吗?
或者我错了,这是预期的行为?
这是设计使然。
您不应为站点的“无 www”版本发送 cookie,或者站点的两个版本都应在 PHP 会话 cookie 上设置“domain=example.com”属性。
否则,这些 cookie 实际上并不相同,因此您将收到两个。 http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx
| 归档时间: |
|
| 查看次数: |
3643 次 |
| 最近记录: |