Tag Archives: 浏览器安全

Cookie, iframe 与 P3P 的那点事儿

且说我使用有些网络服务的时候常常能遇到比较怪异的问题。昨天在某个页面遇到个 Redirect Loop 错误提示:

Firefox has detected that the server is redirecting the request for this address in a way that will never complete.

同样的问题,同样的页面,同样是 Firefox 浏览器,以前就遇到过,提交给相关负责人之后没了响应,后来也忘掉了。同事说是我浏览器版本的问题,后来发现这和”是否接受第三方 Cookie” 的设置有关:

[x] Accept cookies from sites
[ ] Accept third-party cookies

我的浏览器不接受第三方 Cookie。设置接收后该页面显示正常。

搜索了一下,发现之所以该页面是这样,还是因为页面用了 iframe 而导致的问题,比较通用的办法是设置 p3p http header

这个 P3P(Platform for Privacy Preferences Project),要搞明白,可真是有点小孩没娘,说来话长。简单的说,就是个协议,通过其声明它是好人,允许我收集浏览器用户行为吧… 可现实中,大家都可以说自己是好人,背地里没准儿干啥坏事呢。这就是其分歧所在。[参考] 国内多数网站,都不关注这个 P3P。隐私问题可能没国外(微软的隐私声明)重视吧。

再说 Firefox ,过去的几个大版本中,对 Cookie 的处理方式还是有很大变化的。

这个问题影响最大的还是 Facebook 等开放平台的应用,使用了 iframe 就会遇到(eg: FriendFeed 遇到过,估计还比较头疼)。

对于浏览器来说,第三方 Cookie ,默认情况下,浏览器接受与否,是个大问题。如果不接受,会给很多用户带来混淆,如果接受,则在隐私问题上,有很大的挑战。

实际上,Firefox 的开发者在这个地方的处理方式也在摇摆当中(参见), 不过能确定的是 “the ability to make decisions based on p3p policies was removed for firefox 3″。

各家浏览器在这个地方都可能有 Bug。比如 IE7 曾经有的 Cookie 问题,IE8 Beta 也有类似问题

或许,最好的办法就是别去种这个 Cookie 了… 网站开发者,你们愿意么?

EOF

更多阅读:Windows Internet Explorer (Pre-Release Version 8) Privacy Statement
微软 Cookie 说明

另请参见文本后面 axis 同学的留言。