我需要通过网站的后台嵌入iframe访问另一个网站的后台,但是两个网站的后台肯定都需要Session验证权限,Session又是基于Cookie实现的,在IE浏览器下是这样是不允许访问第三方Cookie的。

IE处于安全性和隐私考虑,默认情况下是禁止访问第三方Cookie的,我们可以通过ie浏览器的Internet 选项来设置是否允许访问第三方Cookie,但是这样只对自己有效,在别人的浏览器上就不一定行的通了。

现在介绍一种一劳永逸的方法,支持IE8。

在你创建Cookie或Session的PHP文件最上面加上

header(’P3P: CP=CAO PSA OUR’);
header(’XDomainRequestAllowed: 1′);

这是在向客户端浏览器发送两条头信息

P3P:Platform for Privacy Preferences

这样我们就可以替用户设置本页面Cookie的隐私权限了,其实和用户自己设置IE的隐私权限是一样的。

XDomainRequestAllowed:IE8新支持的特性,XDomainRequestAllowed设置为1可以实现跨域请求,这样开发Ajax就不必为跨域而烦恼了。

但是这样又为安全问题带来的隐患,使跨站攻击变的更加容易,虽然可以通过一些手段限制可以跨站的域,但是不是万不得已或者这个页面不会带来负面影响最好不要这样做。