IE Frame 下 COOKIE SESSION失效的问题解决办法

这几天在做淘宝应用的时候碰到一个比较奇怪的问题,重要的信息在页面跳转之后总是不能保存,搞了半天才知道是session丢失的问题,搜索相关资料才发现php里面还存在session在ie的IFrame下存在易丢失这样的一个问题,遂总结了几种解决办法,好话不多说,如下。

解决IE下Iframe的Cookie失效问题

问题的根是由于iframe跨站点cookie被阻导致session失效。IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie
解决方法: 很简单,在要嵌入的内容中(应用页面)输出P3P的主机头声明加入如下PHP代码:

  1. header('P3P: CP=CAO PSA OUR'); //加入P3P防止IE下写Cookeis失败 

解决IE下Iframe的Session失效问题

IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特 性,firefox中不存在此问题

具体的解决方式是在分页的Action处理方法中加上如下代码:

  1. header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); 

 

转载请注明:代码家园 » IE Frame 下 COOKIE SESSION失效的问题解决办法

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)