是BUG还是什么?关于IE浏览器

本文由守望者MS创作

最近在集成评论系统时发现IE存在着一个“BUG”(可能是出于安全性的考虑) 因为起初评论系统是独立的,其他的网站调用评论系统时需要调用 js或者iframe语句才能实现评论功能。 但是问题也就发生了,IE浏览器丢掉了框架中不同域的COOKIE。 导致系统一直无法评论...

下面请看样例: 站点aa.com的页面a.aspx中存在一个iframe,iframe的src为站点bb.com的b.aspx。

b.aspx设置了一个COOKIE(不管临时保存还是长期保存),然后刷新aa.com/a.aspx,bb.com/b.aspx也会被刷新,这时候会发现第二次向bb.com/b.aspx的请求里面并没有带入第一次设置的COOKIE。

查看浏览器的隐私选项,默认是“中”。现在把隐私的等级修改成“低”,再次做上面的测试,然后发现框架中的COOKIE可以被带入了。

 但是现有其他的浏览器却不存在这个问题。

 正让我想起原来搭建商城系统时,IE浏览器一直在前端提示验证码错误,但是在调试过程中发现cookie中是正确的取值...

现在终于得到原因了....

--------------附解决办法<搜集与网上>

 IE6/IE7支持的P3P(Platform. for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存在此问题了。Mircosoft对此的具体描述可以参见 Privacy in Internet Explorer 6 解决方法: 在要嵌入的内容中(iframe指向的站点)输出P3P的主机头声明,步骤如下: 1.打开IIS管理器 inetmgr 2.选择被嵌入iframe源站点或者目录,右键点击打开属性框 3.切换到HTTP头 4.添加 5.自定义HTTP头名: P3P 6.自定义HTTP头值: CP="CAO PSA OUR" 7.关闭属性框退出,即刻生效

posted @ 2011-05-10 18:12  守望者MS  阅读(212)  评论(0编辑  收藏  举报