P3P实现iframe中跨域传递COOKIE
2009-01-13 10:16
316 查看
IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存在此问题了。
在frameset里面,也就是里面的frame是来自第三方站点(不同IP或不同域名),那么默认情况下IE会自动禁用这些站点的cookie,也就是在请求某url时在HTTP header里不发送它们的cookie,包括session的cookie。注意,这些站点在response里面设置的cookie还是会被发送到浏览器的。在用户浏览a.php时 A.com写入的为第一方Cookie,其嵌入的iframe[/u]指向b.php.这时B.com写入的就为第三方Cookie了,所以它是被IE当在了大门外。 所以,每次当用户提交的cookie提交时,就挂掉了.因为传不到真实的服务器. 解决方案.[b]PHP[/u]的程序[/u][/b]可以直接在B网站中写入<?php
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"')
?>
这样就能接受第三方的Cookie啦。lighttpd的服务器server.modules = ("mod_setenv")setenv.add-response-header = ( "P3P" => "CP='CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR'")apache的服务器<VirtualHost>Header set P3P 'CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'</VirtualHost>IIS的服务器
增加一个网站http头来解决问题;
管理[/u]工具——〉选择一个网站[/u]——〉属性——〉http头,增加一个http头
然后输入头名:P3P
输入头内容:CP=CAO PSA OURfrom:http://www.kobsky.cn/category/Html-JavaScript.aspx
相关文章推荐
- 使用p3p解决iframe中跨域传递cookie的问题
- 使用p3p解决iframe中跨域传递cookie
- 通过设置p3p头来实现跨域访问cookie
- 通过设置P3P头来实现跨域访问COOKIE - PHP技术
- 转载 - 通过设置P3P头来实现跨域访问COOKIE
- 用P3P header解决iframe跨域访问cookie
- 使用postMesssage()实现iframe跨域页面间的信息传递
- PHP 通过设置P3P头来实现跨域访问COOKIE
- 利用P3P实现单点登录和COOKIE的跨域读写
- 通过设置P3P头来实现跨域访问COOKIE
- 用P3P header解决iframe跨域访问cookie
- 跨域名sso单点登录、利用p3p实现cookie跨域
- 用P3P header解决iframe跨域访问cookie(转)
- PHP 通过设置P3P头来实现跨域访问COOKIE
- 通过P3P协议,实现跨域set cookie,解决同域IFRAME中SESSION传递失效问题
- jsp中设置http的P3P头实现跨域设置cookie
- 使用postMesssage()实现跨域iframe页面间的信息传递方法
- 用P3P header解决iframe跨域访问cookie
- 利用p3p跨域传递COOKIE
- 通过设置P3P头来实现跨域访问COOKIE