关于Cookie跨域一个比较形象的例子就是Google Adsense,Google 可以在你的域名设置Cookie,但是你无法访问到Google 设置的Cookie,它只供 Google 访问。
一个简单例子:
步骤1:编辑 hosts 文件,加入测试域名
127.0.0.1 www.atest.com
127.0.0.1 www.btest.com
步骤2:文档根目录下,新建 a.php 。内容如下:
<iframe src="http://www.btest.com/b.php"></iframe>
步骤3:文档根目录下,新建 b.php 。内容如下:
<?php header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); $time = time(); setcookie('p3p0',$time,$time+3600,'/','.btest.com'); ?>
步骤4:文档根目录下,新建 look.php 。内容如下:
<?php var_dump($_COOKIE); ?>
在浏览器输入 http://www.atest.com/a.php 。然后访问:http://www.btest.com/look.php 可见 Cookie 已经生效。
原文地址:http://woqilin.blogspot.com/2013/05/cookie-p3p.html
相关推荐
P3P P3P是一種被稱為個人隱私安全平臺項目(the ... 當頁面存在iframe時,想要獲取iframe框架裏面的cookie,就要在iframe相應的動態頁面裏面添加P3P Header信息,否則在IE下獲取不到。因為IE有安全策略,限制頁面不
例如,在IE浏览器中,若要在跨域情况下设置cookie,可以通过在服务器端的响应头中添加P3P策略声明,这样浏览器就能根据P3P声明的隐私政策来决定是否允许跨域cookie访问。 根据提供的文档内容,实现跨域cookie设置的...
有别于JS跨域、IFRAME跨域等的常用处理办法,还可以利用P3P来实现跨域。P3P是什么P3P(Platform for Privacy Preferences)是W3C公布的一项隐私保护推荐标准,以为用户提供隐私保护。 P3P标准的构想是:Web 站点的...
深入分析:出于隐私安全的考虑,IE 会丢失 Iframe 中的 Cookie,IE6/IE7 支持的 P3P(Platform for Privacy Preferences Project specification)协议默认阻止第三方无隐私安全声明的 Cookie,Firefox、Chrome 不...
1. **P3P(Platform for Privacy Preferences)**:这是一种由W3C提出的隐私偏好平台标准,允许跨域`cookie`的设置。通过在响应头中添加`P3P`政策,服务器告诉浏览器它尊重用户的隐私。但这并不总是有效,因为并非...
总结起来,解决iframe跨域和session失效的问题,关键在于处理第三方cookie的访问控制和IE浏览器的P3P协议要求。合理的P3P声明是关键所在,它能允许浏览器在符合用户隐私政策的前提下,正确地处理来自第三方源的...
解决跨域页面访问问题的办法是,在子系统的登录代码中加入 P3P 的认证,即允许第三方读取 cookie,这样 cookie 值才能被浏览器正确的读取并保存。P3P(Platform for Privacy Preferences)是一种隐私保护协议,允许...
解决方法是: 代码如下: //www.B.com里的被调用的页面需要写P3P头,从而解除IE对写Cookie的阻止 context.Response.AddHeader(“P3P”, “CP=CAO PSA OUR”); //www.A.com里通过ajax调用www.B.com里的内容时,是跨域...
- **P3P协议**:对于不同顶级域名,浏览器默认不允许跨域设置Cookie。但通过添加P3P头(Privacy Policy Platform),如`header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE...
总结来说,解决Iframe跨域访问Cookie和Session的关键在于理解和利用浏览器的特性,如P3P协议,以及巧妙地调整代码结构。同时,对于Session的管理,要意识到它与Cookie之间的关联性。在多系统集成的场景下,这些技巧...
跨二级域名 我们知道cookie是可以跨二级域名来访问,这个很好理解,例如你 www.test1.com 在的web应用程序创建了一个cookie,要想在bbs.test1.com这样的二级域名对应的应用程序中访问,就必须你在创建cookie的时候...
但通过设置P3P(Platform for Privacy Preferences)政策,可以让浏览器接受跨域Cookie,实现SSO。 6. **CORS(Cross-Origin Resource Sharing)**: CORS是浏览器提供的机制,用于控制不同源之间的资源访问。在...
- **P3P头设置**:对于IE浏览器,需要正确设置P3P头以允许cookie跨域传输。P3P (Platform for Privacy Preferences) 是一种隐私保护标准,通过设置`CP=CAO PSA OUR`这样的P3P策略,可以告知浏览器该网站遵守特定的...
P3P允许跨域设置cookie,通过在响应头中添加特定的P3P政策,浏览器会允许设置cookie。在PHP中,可以添加以下代码来设置P3P头: ```php header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE...
综上所述,同源策略、Cookie安全策略、Flash安全策略以及Web认证方式都在一定程度上存在安全隐患,而P3P标准的实施虽然旨在保护用户隐私,也可能产生副作用。为了增强Web应用的安全性,开发者需要了解并合理利用这些...