问题描述:
在一个应用(domain: A)的某个page中, 通过IFrame的方式嵌入另一个应用(domain: B)的某个页面. 当两个应用的domain
不一样时, 在被嵌入的页面中不允许使用cookie(即使用cookie实现的session会失效).
问题分析:
在XP SP2和IE6之后,从安全性角度考虑,默认状态下不允许在iframe里使用跨站点cookie。
解决方案:
1. 修改Client的设置
使Client可以接受来自任何网站的Cookie(具体设置在IE选项的隐私页中)(测试通过).
或者将两个domain都设置为受信息站点(测试通过).
2. 应用的domain修改
简单方案: 两个应用使用同一个domain(没有测试).
复杂方案: 可以在iframe加载的页面里通过setdomain来强制更改(没有测试).
3. P3P
第一种: 在要嵌入的内容中(iframe指向的站点)输出P3P的主机头声明,步骤如下:
> 打开IIS管理器 inetmgr
> 选择被嵌入iframe源站点或者目录,右键点击打开属性框
> 切换到HTTP头
> 添加
> 自定义HTTP头名: P3P
> 自定义HTTP头值: CP="CAO PSA OUR"
> 关闭属性框退出,即刻生效
第二种: 在被嵌入页面page_onload里添加一语句:Response.AddHeader("P3P","CP=CAO PSA OUR")(测试通过);
分享到:
相关推荐
然而,由于浏览器的安全策略,特别是对于第三方cookie的处理,开发者可能会遇到在特定浏览器如Safari、Opera以及某些使用特定内核的搜狗浏览器中无法读取`iframe`内的cookie的问题。这个问题主要源于浏览器对第三方...
在本文中,我们将探讨如何利用Iframe和Cookie技术来实现一个简单的SSO解决方案。 【描述】: 虽然没有提供具体的描述,但我们可以根据标题推测,这篇文章可能讲解了如何使用Iframe和Cookie来构建一个基础的SSO系统...
Session丢失在IFrame环境中的主要原因是浏览器的同源策略和Cookie管理机制。同源策略限制了来自不同源的脚本之间的直接交互,这意味着如果IFrame加载的是一个与主页面不同的域名下的资源,那么主页面的JavaScript将...
如果清除了Cookie中的Session ID,那么Session也就随之失效。因此,理解和控制Cookie对于管理Session同样至关重要。 总结来说,解决Iframe跨域访问Cookie和Session的关键在于理解和利用浏览器的特性,如P3P协议,...
此解决方案通过尝试设置 cookie,或将用户重定向到框架外到父窗口,设置 cookie,并将用户返回到父页面和框架页面来解决此问题。 语言 JavaScript 例子 框架站点包括检查是否可以设置 cookie 以及是否进行了尝试 &...
然而,当涉及到跨域时,`iframe` 遇到的问题之一就是无法正常访问父页面或被嵌入页面的`session`。这是因为浏览器的同源策略(Same-Origin Policy)限制了不同源之间的交互,包括`session`和`cookie`。 同源策略是...
解决webview内的iframe中的事件不可用的问题 在 Android 应用程序中,使用 WebView 来加载网页时,可能会遇到一个问题,即 iframe 中的事件不可用。这是因为 WebView 的默认行为是拦截 iframe 中的事件,从而导致...
在探讨"Iframe的页面,判断是否登录的时候有时候有问题就需要"这一主题时,我们首先需要理解Iframe(Inline Frame)的基本概念及其在网页中的作用。Iframe是一种HTML标签,用于在一个HTML页面内嵌入另一个HTML页面...
第三方session/cookie指的是当前访问的网站中会加载(嵌入)另外第三方的网站代码,例如促销广告,那么第三方网 站也会在访客的计算机上添加session/cookie,这种就是第三方session/cookie。 我的问题 在开发讯息...
出于隐私安全的考虑,IE 会丢失 Iframe 中的 Cookie,IE6/IE7 支持的 P3P(Platform for Privacy Preferences Project specification)协议默认阻止第三方无隐私安全声明的 Cookie,Firefox、Chrome 不存在此问题。...
### iframe跨域嵌套自适应高度 在网页开发过程中,`...正确地配置CORS、合理地利用postMessage API以及理解P3P头的作用,可以帮助开发者有效解决`iframe`跨域嵌套中遇到的问题,实现更加灵活和安全的Web应用开发。
2. **存储状态**:将对话框的状态(如是否已打开)存储在本地存储或cookie中,页面加载时检查这些状态以决定是否重开对话框。 3. **优化加载**:对于大体积的`iframe`内容,可以考虑预加载或按需加载,减少用户等待...
然而,当`iframe`中的页面与包含它的主框架页面位于不同的域名下时,会涉及到跨域安全问题。本文将深入探讨`iframe`与主框架如何进行同域和跨域访问,并提供相关的解决方案。 同域访问: 在同域环境下,即`iframe`...
总的来说,针对IE浏览器中iframe跨域导致Session丢失的问题,关键在于理解浏览器对跨域Cookie的处理方式,特别是IE的独特限制。通过设置P3P头,可以通知浏览器允许iframe内的页面使用和共享Session,从而修复登录和...
在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何棉绒错误。 yarn test 在交互式监视模式下启动测试运行...
跨域通信是Web开发中的一个重要挑战,特别是在涉及到iframe时。由于浏览器的同源策略,不同源的网页之间无法直接交换信息,这限制了iframe在不同域之间共享数据的能力。但是,在单点登录场景下,有时我们需要在主...
总的来说,处理`iframe + target="_blank"`在Android WebView中的问题需要对WebView的工作原理有深入理解,同时也需要熟悉HTML和JavaScript。开发者需要灵活应对,结合实际情况选择合适的解决方案,以确保用户能够...