之前做一个页面时发现如果:A站iframe引用B站的页面时(A,B不在同一台服务器),如果在这个Iframe中B的页面做了跳转,当用IE浏览的时候会导致server 的session丢失,原因是IE的保护机制禁止将iframe中得到的sid传递给下一个页面。
解决方法比较简单:在B被引用的页面上添加JSP代码:
<% response.setHeader("P3P","CP=CAO PSA OUR"); %>
您还没有登录,请您登录后再发表评论
当检测到Session丢失时,可以使用JavaScript的`window.location.href`属性进行页面重定向,而不是使用`Response.Redirect()`方法。这是因为后者可能会被浏览器解释为新请求,从而导致SessionID的变化。 5. **...
拓展阅读中的例子进一步解释了这个问题在IE7中的特殊性,指出如果页面包含iframe,并且这些子页面试图创建或使用Session,那么在IE7中可能会失败。添加P3P头是解决这个问题的有效方法。 其他参考文章中提到了一个...
通过这种方式,可以解决在IE浏览器中由于P3P隐私设置导致的iframe跨域cookie丢失问题,进而解决session失效导致的用户频繁重新登录的问题。这个方法在技术上是可行的,但需要网站管理员操作,确保P3P声明符合实际的...
本文主要探讨如何解决Iframe跨域访问Cookie和Session的问题。 首先,理解跨域访问的基本概念。在Web浏览器的安全策略中,同源策略(Same-origin policy)禁止了一个源(协议+域名+端口)的文档或脚本直接获取另一个...
#### 二、`iframe`跨域嵌套问题及解决方案 1. **跨域限制**:由于同源策略的限制,不同源(协议、域名、端口三者必须相同)的`iframe`无法直接访问彼此的数据。这给跨域嵌套的应用带来了挑战。 2. **解决方法**: ...
- **PHP在IE下的iframe跨域session丢失问题**:由于浏览器同源策略,跨域会导致会话丢失,可以通过设置 P3P 头部或使用共享域名的 cookie 来解决。 - **Failed to write session data** 错误:这通常是因为临时...
相关推荐
当检测到Session丢失时,可以使用JavaScript的`window.location.href`属性进行页面重定向,而不是使用`Response.Redirect()`方法。这是因为后者可能会被浏览器解释为新请求,从而导致SessionID的变化。 5. **...
拓展阅读中的例子进一步解释了这个问题在IE7中的特殊性,指出如果页面包含iframe,并且这些子页面试图创建或使用Session,那么在IE7中可能会失败。添加P3P头是解决这个问题的有效方法。 其他参考文章中提到了一个...
通过这种方式,可以解决在IE浏览器中由于P3P隐私设置导致的iframe跨域cookie丢失问题,进而解决session失效导致的用户频繁重新登录的问题。这个方法在技术上是可行的,但需要网站管理员操作,确保P3P声明符合实际的...
本文主要探讨如何解决Iframe跨域访问Cookie和Session的问题。 首先,理解跨域访问的基本概念。在Web浏览器的安全策略中,同源策略(Same-origin policy)禁止了一个源(协议+域名+端口)的文档或脚本直接获取另一个...
#### 二、`iframe`跨域嵌套问题及解决方案 1. **跨域限制**:由于同源策略的限制,不同源(协议、域名、端口三者必须相同)的`iframe`无法直接访问彼此的数据。这给跨域嵌套的应用带来了挑战。 2. **解决方法**: ...
- **PHP在IE下的iframe跨域session丢失问题**:由于浏览器同源策略,跨域会导致会话丢失,可以通过设置 P3P 头部或使用共享域名的 cookie 来解决。 - **Failed to write session data** 错误:这通常是因为临时...