`
mzh_2008beijing
  • 浏览: 233958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IE浏览器环境下Session跨域丢失的问题

 
阅读更多
问题背景
       我在A应用的index.jsp中有一个iframe。该iframe的src指向了B应用下的某个功能URL。(PS:A/B应用已实施了SSO单点登录方案)在FireFox和Chrome浏览器下访问不会存在任何问题,但是在IE下便会出现单点登录B应用失败的问题,即iframe无法正常展现B应用的功能页面。
问题分析
       究其原因,就是IE下iframe把session丢失了。问题根源在于:IE支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox和Chrome目前还不支持P3P安全特性,自然也不存在此问题了。
解决方案
      在B应用下配置一个filter,加入一行代码即可:
      response.addHeader("P3P","CP=CAO PSA OUR"); 

(PS : 只有在iframe跨域的情况下才会出现session丢失问题。否则不会出现。)
That's all !
分享到:
评论

相关推荐

    处理session跨域几种方案

    处理Session跨域问题通常涉及到多个网站或应用之间共享用户身份验证信息。Session是Web应用程序用来存储用户特定数据的一种机制,通常存储在服务器端,而Session ID通过Cookie在客户端与服务器之间传递。当用户在...

    解决springboot实现跨域session共享问题

    然而,随着Web服务的复杂性和交互性增加,跨域资源共享(CORS)和会话(Session)共享成为开发者需要面对的重要问题。本文将详细讲解如何在Spring Boot应用中解决跨域session共享的问题,并探讨防止SQL注入的相关...

    基于Cookie的Session跨域.zip

    本项目"基于Cookie的Session跨域"则关注如何在分布式环境中解决Session的共享问题,通过Spring和Spring MVC框架来实现这一目标。 首先,我们来了解一下Cookie和Session的基本概念。Cookie是由服务器端发送到客户端...

    java web session跨域共享(redis)

    Java Web中的Session跨域共享问题通常出现在分布式系统或者微服务架构中,多个Web服务器需要共享用户的登录状态。在传统的单体应用中,Session是存储在单一服务器上的,但随着技术的发展,应用程序往往被拆分为多个...

    iframe 跨域访问session

    然而,当涉及到跨域时,`iframe` 遇到的问题之一就是无法正常访问父页面或被嵌入页面的`session`。这是因为浏览器的同源策略(Same-Origin Policy)限制了不同源之间的交互,包括`session`和`cookie`。 同源策略是...

    ThinkPHP框架实现session跨域问题的解决方法

    ThinkPHP框架实现session跨域问题的解决方法主要涉及到了两个方面:其一,是PHP自身处理session的方式,以及如何在ThinkPHP框架下解决session的跨域问题;其二,是根据服务器配置文件的有无,给出不同的解决办法,...

    iframe跨域访问时session丢失

    NULL 博文链接:https://thoreau.iteye.com/blog/745100

    Session跨域共享demo

    然而,由于浏览器的同源策略限制,Session默认情况下不能跨域共享,即在不同的域名下无法访问同一份Session数据。针对这一问题,我们可以利用特定的技术实现Session跨域共享,使得用户在访问多个相关联的二级域名时...

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

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

    session跨域的共享--更改配置

    这意味着在一个域名下设置的session cookie,在另一个域名下不可用,除非采取特定的跨域策略。 ### 二、实现Session的跨域共享 为了实现session的跨域共享,我们需要对PHP的配置文件php.ini进行相应的修改,确保...

    IE浏览器跨域设置.docx

    - 关闭所有IE浏览器窗口后重新打开,尝试访问之前因跨域问题无法正常加载的页面或资源,检查设置是否生效。 #### 四、注意事项 - 进行跨域设置时,务必确保您了解所涉及的安全风险。不当的设置可能会导致浏览器受...

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

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

    Spring Boot Redis Session 共享(Ajax 跨域)

    本教程将详细讲解如何在Spring Boot项目中利用Redis来存储和共享Session,并解决Ajax跨域问题。 首先,我们需要理解Spring Boot中的Session管理。默认情况下,Spring Boot使用内存中的HttpSession来存储用户会话...

    IE7 Ajax跨域问题

    在IE7以及更早版本的IE浏览器中,实现跨域Ajax请求比现代浏览器更为复杂。这是因为IE7支持的XDomainRequest对象相比XMLHttpRequest对象有更严格的限制,但提供了有限的跨域支持。 在处理IE7的跨域Ajax问题时,...

    IE浏览器源码

    9. **安全与兼容性**:由于IE浏览器的市场份额和历史遗留问题,源码中会涉及很多兼容性和安全性的考虑,如ActiveX控件的管理、跨域策略等。 10. **调试与测试**:源码中通常包含调试工具和测试框架,以便于开发者...

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

    ASP.NET 跨域与 Session 失效问题的解决办法 在 ASP.NET 开发中,跨域和 Session 失效问题是一个常见的问题,特别是在使用 iframe 嵌入远程应用时。今天,我们来讨论这个问题的解决办法。 什么是跨域和 Session ...

    session跨域,跨服代码延时

    session跨域 代码里有a.com,b.com两个站 请选设好虚拟主机。两个站 访问a.com的a.php设过session 访问一下b.com看一下有没有获取到a.com设过的session 代码简单。主要是思路

    跨域共享session (实现http跳转https 共享session)

    但是,为了提供更好的用户体验,特别是在单点登录(Single Sign-On, SSO)场景下,跨域共享session变得非常重要。 **一、跨域共享session原理** 1. **JSONP(JSON with Padding)**:JSONP是一种早期的跨域解决方案...

    真正解决百度编辑器UEditor上传图片跨域问题.docx

    UEditor允许用户在编辑器中插入图片、视频等多媒体内容,但当涉及到图片上传时,可能会遇到跨域问题。本文将详细探讨如何解决UEditor在前后端分离项目中上传图片的跨域问题。 首先,跨域是浏览器的一个安全机制,...

Global site tag (gtag.js) - Google Analytics