两个域名之间的cookie是不能共享的,如在
www.a.com 中设置的cookie 想要在
www.b.com中取出来用,是办不到的。 但是通过设置p3p便可以解决这个cookie跨域问题。 废话不多说,直接说操作。
为了在本机上测试,先编辑C:\Windows\System32\drivers\etc 下的hosts文件,为本地IP(127.0.0.1) 设置两个不同的域名。 设置方法:在文件的最后加上如下两行:
127.0.0.1 a
127.0.0.1 b
设置好之后,在地址栏输入http://a:8080 和 http://b:8080 就都会映射到http://127.0.0.1:8080 这样就得到了两个映射到本地的域名,为这后的测试做准备
在涉及到需要读Cookie(request.getCookies())和写Cookie(response.addCookie()) 的函数中 分别都加入下面语句
response.setHeader(
"P3P",
"CP=\"NON DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa HISa TELa OTPa OUR UNRa IND UNI COM NAV INT DEM CNT PRE LOC\"");
之后就可以在不同的域名中共享Cookie了。
分享到:
相关推荐
P3P P3P是一種被稱為個人隱私安全平臺項目(the ... 當頁面存在iframe時,想要獲取iframe框架裏面的cookie,就要在iframe相應的動態頁面裏面添加P3P Header信息,否則在IE下獲取不到。因為IE有安全策略,限制頁面不
例如,在IE浏览器中,若要在跨域情况下设置cookie,可以通过在服务器端的响应头中添加P3P策略声明,这样浏览器就能根据P3P声明的隐私政策来决定是否允许跨域cookie访问。 根据提供的文档内容,实现跨域cookie设置的...
有别于JS跨域、IFRAME跨域等的常用处理办法,还可以利用P3P来实现跨域。P3P是什么P3P(Platform ...访问支持P3P网站的用户有权查看站点隐私报告,然 后决定是否接受cookie 或是否使用该网站。 如何利用P3P实现跨域在开
解决方法是: 代码如下: //www.B.com里的被调用的页面需要写P3P头,从而解除IE对写Cookie的阻止 context.Response.AddHeader(“P3P”, “CP=CAO PSA OUR”); //www.A.com里通过ajax调用www.B.com里的内容时,是跨域...
解决跨域页面访问问题的办法是,在子系统的登录代码中加入 P3P 的认证,即允许第三方读取 cookie,这样 cookie 值才能被浏览器正确的读取并保存。P3P(Platform for Privacy Preferences)是一种隐私保护协议,允许...
1. **P3P(Platform for Privacy Preferences)**:这是一种由W3C提出的隐私偏好平台标准,允许跨域`cookie`的设置。通过在响应头中添加`P3P`政策,服务器告诉浏览器它尊重用户的隐私。但这并不总是有效,因为并非...
跨二级域名 我们知道cookie是可以跨二级域名来访问,这个很好理解,例如你 www.test1.com 在的web应用程序创建了一个cookie,要想在bbs.test1.com这样的二级域名对应的应用程序中访问,就必须你在创建cookie的时候...
通过这种方式,可以解决在IE浏览器中由于P3P隐私设置导致的iframe跨域cookie丢失问题,进而解决session失效导致的用户频繁重新登录的问题。这个方法在技术上是可行的,但需要网站管理员操作,确保P3P声明符合实际的...
总结来说,解决Iframe跨域访问Cookie和Session的关键在于理解和利用浏览器的特性,如P3P协议,以及巧妙地调整代码结构。同时,对于Session的管理,要意识到它与Cookie之间的关联性。在多系统集成的场景下,这些技巧...
- **P3P协议**:对于不同顶级域名,浏览器默认不允许跨域设置Cookie。但通过添加P3P头(Privacy Policy Platform),如`header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE...
深入分析:出于隐私安全的考虑,IE 会丢失 Iframe 中的 Cookie,IE6/IE7 支持的 P3P(Platform for Privacy Preferences Project specification)协议默认阻止第三方无隐私安全声明的 Cookie,Firefox、Chrome 不...
但通过设置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...
- **HTTP头部传递SessionID**:对于不支持Cookie的环境,可以通过HTTP头部`P3P`或`Set-Cookie2`来传递SessionID。 3. **ASP.NET中的实现** 在ASP.NET中,我们可以自定义SessionStateStoreProvider来扩展默认的...