`
isiqi
  • 浏览: 16706439 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

使用p3p解决iframe中跨域传递cookie的问题

阅读更多

昨天在做一个集成的时候 发现一个问题 : A.com的 iframe中嵌入 B.com的问题,恰好 需要在iframe中登陆到 B.com,结果发现成功登陆后并未转跳到B.com中的预期页面,后来发现是cookie丢失了,浏览器阻止了B.com的cookie

java中的解决方法如下 :写一个拦截器,然后配置你的action上就 ok 了

  public class P3PInterceptor implements Interceptor {   

     public void destroy() {      

     }   



     public void init() {     

      }  



     public String intercept(ActionInvocation invocation) throws Exception {              



      HttpServletResponse response = ServletActionContext.getResponse();     

      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\"");              

       return invocation.invoke();     

     }

} 

本质上就是改变response的header(加入了p3p这个网站隐私策略的信息,具体的p3p信息请参考google,本文不再赘述)所以其他的语言平台也可以如法炮制不需在每一个action都做这种配置,只需配置一个,浏览器就知道了,当访问其他action的时候,浏览器会自动传送该域的cookie

分享到:
评论

相关推荐

    iframe 跨域访问session

    `iframe` 跨域访问`session`正是为了解决这一问题。 首先,让我们了解一下`session`和`cookie`的关系。`session`通常用于存储用户登录状态等临时信息,而`cookie`则作为`session` ID的载体在客户端和服务器之间传递...

    P3P Header解决Cookie跨域的问题

    P3P  P3P是一種被稱為個人隱私安全平臺項目(the ... 當頁面存在iframe時,想要獲取iframe框架裏面的cookie,就要在iframe相應的動態頁面裏面添加P3P Header信息,否則在IE下獲取不到。因為IE有安全策略,限制頁面不

    关于Iframe如何跨域访问Cookie和Session的解决方法

    总结来说,解决Iframe跨域访问Cookie和Session的关键在于理解和利用浏览器的特性,如P3P协议,以及巧妙地调整代码结构。同时,对于Session的管理,要意识到它与Cookie之间的关联性。在多系统集成的场景下,这些技巧...

    【ASP.NET编程知识】iframe跨域与session失效问题的解决办法.docx

    在 ASP.NET 开发中,跨域和 Session 失效问题是一个常见的问题,但通过添加“P3P”协议和使用 HttpContext.Current.Session,我们可以解决这个问题,从而确保应用程序的正常运行。 相关知识点: * 跨域和 Session ...

    iframe跨域与session失效问题的解决办法

    通过这种方式,可以解决在IE浏览器中由于P3P隐私设置导致的iframe跨域cookie丢失问题,进而解决session失效导致的用户频繁重新登录的问题。这个方法在技术上是可行的,但需要网站管理员操作,确保P3P声明符合实际的...

    跨域页面访问问题解决.doc

    解决跨域页面访问问题的办法是,在子系统的登录代码中加入 P3P 的认证,即允许第三方读取 cookie,这样 cookie 值才能被浏览器正确的读取并保存。P3P(Platform for Privacy Preferences)是一种隐私保护协议,允许...

    iframe跨域嵌套自适应高度

    ### iframe跨域嵌套自适应高度 在网页开发过程中,`...正确地配置CORS、合理地利用postMessage API以及理解P3P头的作用,可以帮助开发者有效解决`iframe`跨域嵌套中遇到的问题,实现更加灵活和安全的Web应用开发。

    asp.net(C#)跨域及跨域写Cookie问题

    总之,在***(C#)开发中遇到跨域及跨域写Cookie问题时,可以通过设置P3P头部、使用JSONP方法或其他技术手段进行处理。然而,随着浏览器和标准的不断更新,对于跨域问题,开发者也需要关注并学习最新的解决方案,比如...

    PHP关于IE下的iframe跨域导致session丢失问题解决方法

    总的来说,针对IE浏览器中iframe跨域导致Session丢失的问题,关键在于理解浏览器对跨域Cookie的处理方式,特别是IE的独特限制。通过设置P3P头,可以通知浏览器允许iframe内的页面使用和共享Session,从而修复登录和...

    PHP如何利用P3P实现跨域

    有别于JS跨域、IFRAME跨域等的常用处理办法,还可以利用P3P来实现跨域。P3P是什么P3P(Platform for Privacy Preferences)是W3C公布的一项隐私保护推荐标准,以为用户提供隐私保护。 P3P标准的构想是:Web 站点的...

    C#单点登陆组件源码SSO

    源码可能包含了处理不同域之间的票据传递的技术,例如使用隐藏的IFrame或者设置P3P头来实现跨域Cookie。 5. **会话管理**:在SSO环境中,会话管理需要特别注意,确保用户的会话状态在整个系统中得到同步。这可能...

    单点登录系统

    - Header(P3P):通过P3P协议在跨域请求中传递cookies,但这种方法在IE浏览器中需要特殊的头信息。 - 数据库共享:通过数据库共享用户信息,但这可能导致数据同步问题和额外的安全隐患。 综上所述,单点登录系统是...

    js检测iframe是否加载完成的方法

    在某些特定应用中,如与P3P协议配合使用时,iframe可以实现跨域写入cookie的功能。P3P(Platform for Privacy Preferences Project)是一种用于Web隐私保护的技术,它允许网站以标准化的方式描述其隐私政策,从而...

    cookie在javascript中的使用技巧以及隐私在服务器端的设置

    同时,P3P(Platform for Privacy Preferences Project)是一种尝试解决跨域数据共享的隐私策略标准,但其实际应用已不如当初广泛。 总结起来,理解和熟练掌握Cookie在JavaScript中的使用以及服务器端的隐私设置是...

    php session_start()出错原因分析及解决方法

    - **PHP在IE下的iframe跨域session丢失问题**:由于浏览器同源策略,跨域会导致会话丢失,可以通过设置 P3P 头部或使用共享域名的 cookie 来解决。 - **Failed to write session data** 错误:这通常是因为临时...

Global site tag (gtag.js) - Google Analytics