我遇到一个奇怪的问题,Internet Explorer不接受我的cookies。这就是cookie:
set-cookie: USUSERNAME=LrceSVu6mUJ9Ztmvp4oKSQ%3D%3D; version="1"; expires=Mon, 15-Jun-2009 11:42:21 GMT; path=/; domain=.us.is它不会存储在dev-intranet.us.is域或任何其他us.is域中。但是,将cookie的域设置为我的dev机器的ip地址可以很好地工作:
set-cookie: USUSERNAME=LrceSVu6mUJ9Ztmvp4oKSQ%3D%3D; version="1"; expires=Mon, 15-Jun-2009 08:41:58 GMT; path=/; domain=192.168.34.104在火狐、歌剧、Safari和Chrome中,一切都如预期的那样工作,但IE7并非如此
你知道这是怎么回事吗?
顺便说一句。使用WebObjects WOCookie创建cookie。
发布于 2009-06-23 14:44:54
示例中的cookie是针对"us.is“域的。IE忽略为两个字母的域设置的cookies。更准确地说,它似乎忽略了来自少于5个字符的域的cookies (就像您的: 2+2)。
我记得来自IE6的这个bug/特性,可能是更早的版本。读到这篇文章,你会发现这个行为在IE7中仍然存在。
MSKB的一篇文章建议了一种不切实际的解决办法,可以在这里找到:http://support.microsoft.com/kb/310676。
更实际的做法可能是获取一个更长的域名;-)或者确保用户总是被重定向到一个规范的名称,即"www.us.is“,并在那里放置您的cookies。
发布于 2011-09-06 12:29:13
一些额外的边缘案例/详细信息(使用每站点隐私操作互联网选项>隐私>站点在IE8中进行测试):
以下域名为REJECTED
a.a
aa.a
a.aa
aa.aa并显示错误消息:
You have entered an invalid domain. Domains must be in the Internet zone
and must use the HTTP or HTTPS protocol. URLs beginning with xn-- must
be valid IDN names.
Examples of valid domains:
- www.treyresearch.net
- http://treyresearch.net
- fineartschool.net下列域是接受的
aaa.a
aaa.aa
a.aaa
aa.aaa
a.a.a
a.a.aa
a.aa.aa
aa.aa.aa此外,Internet Explorer似乎拒绝接受包含域规范中不允许的字符的域。如果(可能是在开发环境中),你有一个无效的域,IE不喜欢它。
以下域名为REJECTED
a_a.aa
a%a.aa
a*a.aa
a=a.aa并显示错误消息:The site name you entered is not a valid IDN URL。
测试似乎仅限于字符有效性,而不是排列有效性,因为以下领域是接受的
aa-.aa
aa.aaa.
---.aa
-.---
---.-希望这能帮助人们了解为什么IE7 / IE8中的cookie在一种环境和另一种环境中没有正确设置的原因。
https://stackoverflow.com/questions/867796
复制相似问题