欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

IE下iframe跨域登录导致session丢失问题分析及解决方法

程序员文章站 2023-11-28 16:19:46
IE下iframe跨域登录导致session丢失问题分析及解决方法...
网上有这类文章,一般表现为a站点有iframe,iframe的src指向b站,b站登录后保存该域cookie,下次再访问的时候就可以带上这个cookie,但ie下失效。
而我的情况有些类似,但不尽然;

我的是a站有iframe,但src是指向自己(如,login.aspx页)。然后login有个form,action到b站点,然而去b站点就只是拿一些资料,加密后给回a站点进行登录(cookie写入)。
但发现此时的cookie已经写不进了。

这里应该就是session已经变了,说应该是因为我没确认过。
解决方法也很简单,和网上的一样。

问题根源:
ie6/ie7支持的p3p(platform for privacy preferences project (p3p) specification)协议默认阻止第三方无隐私安全声明的cookie,firefox目前还不支持p3p安全特性,firefox中自然也不存 在此问题了。mircosoft对此的具体描述可以参见 privacy in internet explorer 6
解决办法是在要嵌入的内容中(iframe指向的站点)输出p3p的主机头声明:
给个连接 百度文库
贴个c#代码

代码如下: