Safari 不接受 Cookie 而 FF 和 IE 接受
Posted
技术标签:
【中文标题】Safari 不接受 Cookie 而 FF 和 IE 接受【英文标题】:Safari not accepting Cookies while FF and IE does 【发布时间】:2011-03-21 22:11:11 【问题描述】:我的 Safari 浏览器和我们的 set-cookie 有问题。 Safari 完全忽略了我们设置的 cookie,而 FF 和 IE 接受并发送 cookie。 Cookie设置页面不是重定向,直接HTTP 200 with set-cookie。
是否存在导致 Safari 完全忽略 cookie 的特殊字符或格式错误的 set-cookie?
发送以下 Cookie:
CURL 输出:
设置 Cookie:ASP.NET_SessionId=rdmpn1b4eckozzjns0voon33;路径=/
设置-Cookie:SHOPPERID=jZlotLr6HESiqoB/3F0brg==; expires=2060 年 7 月 28 日星期三 01:09:04 GMT;路径=/
设置-Cookie:FVISIT=2010?N7??28??;到期=格林威治标准时间 2060 年 7 月 28 日星期三 01:09:04;路径=/
设置-Cookie:STOCKMCD=Direct=2010/07/28 10:09:04;过期=星期二,2010 年 10 月 26 日 01:09:04 GMT;路径=/
Safari 开发者工具:
设置 Cookie:ASP.NET_SessionId=xqf3eui1r2fce4e30ogh2145;路径=/, SHOPPERID=C/lG3XGVPEa7QgGcsqt3yg==;到期=格林威治标准时间 2060 年 7 月 28 日星期三 01:15:26;路径=/,FVISIT=2010N728ú;到期=格林威治标准时间 2060 年 7 月 28 日星期三 01:15:26;路径=/,STOCKMCD=直接=2010/07/28 10:15:26;到期=星期二,2010 年 10 月 26 日 01:15:26 GMT;路径=/
【问题讨论】:
【参考方案1】:查看HTTP headers encoding/decoding in Java 的答案。看起来好像正在发送的 Set-Cookie
标头包含一个没有有效编码的字符。看来 IE 和 Firefox 不如 Safari 严格。
【讨论】:
【参考方案2】:使用默认隐私设置,Safari 会拒绝来自用户访问之外的域的 cookie。例如,如果 example.com 的页面包含来自 example.net 的资源,则 example.net 不允许设置 cookie。
【讨论】:
以上是关于Safari 不接受 Cookie 而 FF 和 IE 接受的主要内容,如果未能解决你的问题,请参考以下文章
Check Point SSL Network Extender 适用于 FF,而非 Safari,适用于 Mountain Lion
WebRTC connectionState 停留在“new” - 仅适用于 Safari,适用于 Chrome 和 FF