在session写入页面加入:
Response.AddHeader("P3P", "CP=CAO PSA OUR");
-------------------
IFrame中Session丢失的解决办法
IFrame中Session丢失的解决办法 在开发中,我们经常会遇到使用Frame来工作,而且有时是为了跟其他网站集成,应用到多域的情
况下,而Iframe是不能保存Session的。因此,网上可以找到很多相关的文章,如果网站可以采用设置Web.Config中的配置:
<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="40"
/>
把cookieless="false"改成"true"就可以了。但也同样有个小问题,就是如果页面中采用Javascript的window.location.href=''这
样的方式来重定向的话,系统会认为这是另一个新的请求,产生一个新的SessionId,导致原Session同样的丢失。所以对于重定向
,还是使用Response.Redirect()为好。
除了Ifrmae有丢Session问题外,frameset也有同样的问题。Frameset的问题更不移定,是有时会丢,有时不会丢,这更认人头痛,
在网上找到了一个方法,在页面page_onload里添加一语句:
Response.AddHeader("P3P","CP=CAO PSA OUR");
FrameSet中的Session丢失问题就解决了。至于里面具体的原因 也没时间去搞懂了。
------------------------------------------------------------------------------------------------------------------
-----------------------------
在实际操作中,以上设置将导致对方post过来的数据我方接收不到的问题,正确的解决方法应该是:
http://www.cnblogs.com/suxvsheng/archive/2007/08/17/860157.html
IE框架中访问不同域的网页不能带入COOKIE————是IE浏览器的一个BUG?
偶然中发现一个IE浏览器的问题:
站点aa.com的页面a.aspx中存在一个iframe,iframe的src为站点bb.com的b.aspx。b.aspx设置了一个COOKIE(不管临时保存还是长
期保存),然后刷新aa.com/a.aspx,bb.com/b.aspx也会被刷新,这时候会发现第二次向bb.com/b.aspx的请求里面并没有带入第一
次设置的COOKIE。
更确切地说:IE浏览器丢掉了框架中不同域的COOKIE。
查看浏览器的隐私选项,默认是“中”。现在把隐私的等级修改成“低”,再次做上面的测试,然后发现框架中的COOKIE可以被带
入了。
从这个现象来看,应该是IE出于安全考虑而做了限制。但是!!!处于不同的两个域的的页面,应该被看成打开了两个互不相关的
浏览器窗口,大家各自设置自己的COOKIE,各自带入到下次请求中,只要互不影响,不应该受到限制。
恩,那么,为什么要限制呢?看来还是微软的程序员对自己浏览器的安全没什么信心,担心同一浏览器窗口不同域的情况下,黑客
仍可能获取另一域的COOKIE,所以干脆把其中一个域的COOKIE干掉!!!人家FireFox为什么就没这种限制?
===========================================================================
问题根源:
IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的
cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存在此问题了。Mircosoft对此的具体描述可以参见 Privacy in
Internet Explorer 6
解决方法:
很简单,在要嵌入的内容中(iframe指向的站点)输出P3P的主机头声明,步骤如下(Session variables are lost if you use
FRAMESET in Internet Explorer 6):
1.打开IIS管理器 inetmgr
2.选择被嵌入iframe源站点或者目录,右键点击打开属性框
3.切换到HTTP头
4.添加
5.自定义HTTP头名: P3P
6.自定义HTTP头值: CP="CAO PSA OUR"
7.关闭属性框退出,即刻生效
至于上面CAO PSA OUR的具体意思,还是请参考前面的文章:Privacy in Internet Explorer 6
至此,iframe框架下session丢失的问题才彻底解决。
每天都能发现好东西,真是好啊,可以学到新的知识~每天进步一点,成功就在眼前!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ikmb/archive/2009/04/01/4041480.aspx
分享到:
相关推荐
在探讨“IFrame中Session丢失的解决办法”这一主题时,我们首先需要理解Session与IFrame的基本概念及其在Web开发中的交互方式。Session是Web应用中用于存储用户特定信息的一种机制,它允许开发者在用户的会话期间...
NULL 博文链接:https://thoreau.iteye.com/blog/745100
`iframe` 跨域访问`session`正是为了解决这一问题。 首先,让我们了解一下`session`和`cookie`的关系。`session`通常用于存储用户登录状态等临时信息,而`cookie`则作为`session` ID的载体在客户端和服务器之间传递...
通过这种方式,可以解决在IE浏览器中由于P3P隐私设置导致的iframe跨域cookie丢失问题,进而解决session失效导致的用户频繁重新登录的问题。这个方法在技术上是可行的,但需要网站管理员操作,确保P3P声明符合实际的...
ASP.NET 跨域与 Session 失效问题的解决办法 在 ASP.NET 开发中,跨域和 Session 失效问题是一个常见的问题,特别是在使用 iframe 嵌入远程应用时。今天,我们来讨论这个问题的解决办法。 什么是跨域和 Session ...
其他参考文章中提到了一个类似的问题,即在Java环境下,由于jsessionid无法在iframe中正确传递,导致Session丢失。解决办法同样是确保正确设置Cookie策略,使得Session能够在不同的页面间正确传递。 总的来说,针对...
在Web开发中,Iframe(内联框架)常用于嵌入其他网页内容,但涉及到跨域访问时,尤其是在处理Cookie和Session时,会遇到一些挑战。本文主要探讨如何解决Iframe跨域访问Cookie和Session的问题。 首先,理解跨域访问...
在网页制作过程中,Iframe(内联框架)是一种常见的元素,用于在页面中嵌入其他网页或者内容。然而,Iframe的高度自适应往往是一个棘手的问题,因为如果内容动态加载或者不同长度,Iframe默认的高度可能无法适配,...
在提供的压缩包文件 "iframe中fixed失效问题" 中,可能包含了具体的代码示例或演示页面,你可以直接打开查看这些案例,以更好地理解和应用上述解决方案。实际操作时,需要根据具体项目需求和限制选择合适的方法,...
在网页开发中,`<iframe>`元素是一种非常实用的工具,它允许我们在一个页面中嵌入另一个页面的内容,实现页面的组合或者隔离加载。然而,`<iframe>`的高度自适应问题常常困扰着开发者,尤其是当`<iframe>`内部的内容...
本篇将深入探讨如何实现`iframe`自适应高度的简单解决办法。 首先,我们需要了解`iframe`的基本结构。在HTML中,创建一个`iframe`标签如下: ```html <iframe src=...
"解决JS跨域访问IFrame的解决方案"这一主题关注的就是如何克服这个限制,使得在JSP页面中嵌入的跨域IFrame能够正常通信。下面我们将详细探讨这个问题以及可能的解决方案。 首先,理解同源策略是关键。同源策略是...
在Web开发中,`iframe` 是一个非常常用的元素,它允许我们在一个页面中嵌入另一个网页。然而,由于浏览器的同源策略限制,当`iframe`加载的页面与包含它的页面不在同一个域名下时,就会遇到跨域问题。这篇博客将深入...
然而,有时我们需要在不同的域之间共享数据或者嵌入其他网站的内容,这时候`iframe`(Inline Frame)就成为了一种常用的解决方案。本文将深入探讨如何“完美解决iframe跨域问题”,并介绍其底层的`window.name`转换...
解决这个问题的一个方法是在IFRAME的URL参数中添加wmode=opaque,这样可以改变IFRAME的窗口模式,从而避免其影响到其他元素的Z-index层级。类似地,当IFRAME内嵌Flash对象时,也可能出现z-index失效的问题。这时,...
本篇将深入探讨如何解决`iframe`跨域问题。 首先,我们需要了解`iframe`的基本概念。`iframe`全称 Inline Frame,即内联框架,是一种在HTML文档中嵌入另一个HTML文档的方式,常用于加载外部内容,如广告、地图、...
本文将详细讲解如何利用IFrame解决这些问题,特别是针对Flex菜单的遮挡问题。 首先,理解Flex和IFrame的基本概念是必要的。Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。而...
解决方案:使用 JavaScript 库或框架来监控 iframe 中的内容变化,然后获取其内容。 3. iframe 中的内容包含其他 iframe 如果 iframe 中的内容包含其他 iframe,我们可能需要递归地获取其中的内容。 解决方案:...