Atl*_*son 7 cookies internet-explorer webobjects http
我有一个奇怪的问题,Internet Explorer不接受我的cookie.这是cookie:
set-cookie: USUSERNAME=LrceSVu6mUJ9Ztmvp4oKSQ%3D%3D; version="1"; expires=Mon, 15-Jun-2009 11:42:21 GMT; path=/; domain=.us.is
Run Code Online (Sandbox Code Playgroud)
它不会存储在域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
Run Code Online (Sandbox Code Playgroud)
一切都在Firefox,Opera,Safari和Chrome中有所体现,但不是IE7
有什么想法在这里发生?
顺便说一句.使用WebObjects WOCookie创建cookie.
您示例中的Cookie适用于"us.is"域.IE忽略为双字母域设置的cookie.更确切地说,它似乎忽略来自少于5个字符的域的cookie(如你的:2 + 2).
我记得IE6中的这个bug /功能,我相信可能是早期版本.阅读本文,看起来IE7中的行为仍然存在.
可以在此处找到一篇MSKB文章,其中提供了一个不切实际的解决方法:http://support.microsoft.com/kb/310676.
更实际的可能是获得更长的域名;-)或确保用户始终被重定向到一个规范名称,即"www.us.is"并在那里种植您的cookie.
一些额外的边缘情况/细节(在IE8中使用每个站点的隐私措施[Internet选项>隐私>站点]进行的测试):
以下域名被拒绝:
a.a
aa.a
a.aa
aa.aa
Run Code Online (Sandbox Code Playgroud)
带有错误消息:
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
Run Code Online (Sandbox Code Playgroud)
接受以下域名:
aaa.a
aaa.aa
a.aaa
aa.aaa
a.a.a
a.a.aa
a.aa.aa
aa.aa.aa
Run Code Online (Sandbox Code Playgroud)
此外,在很大程度上不相关的情况下,Internet Explorer似乎拒绝接受包含域规范中不允许的字符的域.如果(在开发环境中,大概是),你有一个无效的域,IE不喜欢它.
以下域名被拒绝:
a_a.aa
a%a.aa
a*a.aa
a=a.aa
Run Code Online (Sandbox Code Playgroud)
错误消息:The site name you entered is not a valid IDN URL.
测试似乎仅限于字符有效性而不是安排有效性,因为以下域名是接受的:
aa-.aa
aa.aaa.
---.aa
-.---
---.-
Run Code Online (Sandbox Code Playgroud)
希望这有助于人们在IE7/IE8中在一个环境与另一个环境中查找为什么没有正确设置cookie的详细信息.
| 归档时间: |
|
| 查看次数: |
5740 次 |
| 最近记录: |