internet-explorer - IE 发送多个同名 cookie?

标签 internet-explorer cookies

我在我的网站上的 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

    用户代理: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/

    相关文章:

    javascript - Javascript 是否在加载时被解析/解释? (IE)

    asp.net - 我可以通过将它与 session ID关联来使我的ASP.NET FormsAuthentication cookie更加安全吗?

    javascript - 删除值为 NULL 的 cookie

    java - 用于管理 session 的 Tomcat 过滤器

    html - 在网页上显示链接的 Internet Explorer 兼容性问题

    html - 跨所有浏览器的 CSS 对齐

    php - 记住不使用 Laravel 的用户

    php - 网站的安全登录框 - 如何存储详细信息以供将来访问

    javascript - 使用 IE、Jsonp 和 OpenID 如何让数据发送服务器看到客户端已通过身份验证?

    c# - Selenium Internet Explorer 驱动程序、Kendo Mobile 和 Octopus Deploy