- 浏览: 209227 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
上官车月:
13shu 写道 有何高见?
getServletContext()接口解析(收藏) -
13shu:
getServletContext()接口解析(收藏)
问题根源:
IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存在此问题了。
解决办法:
在要嵌入的内容中(iframe指向的站点)输出P3P的主机头声明:
php:
header('P3P:CP="IDC DSP COR ADM
DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
asp.net:
HttpContext.Current.Response.AddHeader("p3p",
"CP=\""IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR
IND CNT\""")
或者:Response.AddHeader("P3P","CP=CAO
PSA OUR");
jsp:
response.setHeader("P3P","CP='IDC
DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'")
ColdFusion:
<cfheader
name="P3P" value="CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi
IVDi CONi HIS OUR IND CNT'" />
针对ASP.Net的其它解决办法:
在开发中,我们经常会遇到使用Frame来工作,而且有时是为了跟其他网站集成,应用到多域的情况下,而Iframe是不能保存Session的。因此,网上可以找到很多相关的文章,如果网站可以采用设置Web.Config中的配置:<sessionstate></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丢失问题就解决了。
最简单的方法就是在iis里设置,图片见附件。
来源:http://blog.163.com/da7_1@126/blog/static/1040726782011102771537946/
发表评论
-
apache http日志文件按天生成
2014-06-18 20:10 3538Linux系统配置方法: 将其改为 ErrorLog & ... -
Java各种文件下载处理
2013-05-07 13:19 1156public HttpServletResponse do ... -
Java读取Properties文件
2013-01-31 15:31 1049/** * * * @ ... -
判断当前时间是否在限制时间段之内
2013-01-30 19:06 4636/** * 判断当前时间是否在限制时间段之内(是: ... -
Ubuntu 手动安装jdk6
2013-01-17 19:04 11281. 手动安装jdk6 首先, ... -
[Java]读取文件方法大全
2012-12-20 19:59 8871、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内 ... -
Java获取请求客户端的真实IP地址
2012-12-14 17:34 1312通常通过request.getRemoteAddr() 取得客 ... -
Tomcat远程调试
2012-11-22 16:25 942第一步、配置远程tomcat 1、在windows系统中: ... -
项目中整体上中文乱码
2012-11-01 15:40 1140搞一个S2SH项目,在运行时整体上项目中文在IE浏览器 ... -
Lucene 教程
2012-10-15 09:41 923Lucene是apache组织的一个用jav ... -
native2ascii 工具使用
2012-08-31 15:39 985native2ascii.exe 是Java ... -
struts2 upload
2012-08-29 12:46 983所需架包: commons-fileupload-1.2.1 ... -
Axis2 教程
2012-08-28 10:01 1070来源:http://itemdetail.iteye.co ... -
个人学习收集
2012-08-14 14:59 866JAVA编程思想[第四版].pdf ssh学习笔记 ... -
weblogic session丢失
2012-08-06 19:54 3785在处理app为多服务时,iframe跨域存在sess ... -
注册Tomcat服务为系统服务
2012-06-20 16:51 8188将解压版的Tomcat服务注册为系统服务之后,就不用 ... -
eclipse调试时鼠标移动到变量上不显示值的问题
2012-06-20 09:01 1598今天同事问一问题,就说在eclipse中调试时,鼠标移动到 ... -
Publishing failed with multiple errors 异常
2012-06-06 16:17 22315Publishing failed with multiple ... -
Js获取当前日期时间及其它操作
2012-06-06 14:29 1112Js获取当前日期时间 ... -
Java发送http请求
2012-06-01 15:29 2521结合网络资源,整理Java调用http请求调用接口 等 方法。 ...
相关推荐
NULL 博文链接:https://thoreau.iteye.com/blog/745100
通过这种方式,可以解决在IE浏览器中由于P3P隐私设置导致的iframe跨域cookie丢失问题,进而解决session失效导致的用户频繁重新登录的问题。这个方法在技术上是可行的,但需要网站管理员操作,确保P3P声明符合实际的...
在 ASP.NET 开发中,跨域和 Session 失效问题是一个常见的问题,特别是在使用 iframe 嵌入远程应用时。今天,我们来讨论这个问题的解决办法。 什么是跨域和 Session 失效? -------------------------------- 跨域...
总的来说,针对IE浏览器中iframe跨域导致Session丢失的问题,关键在于理解浏览器对跨域Cookie的处理方式,特别是IE的独特限制。通过设置P3P头,可以通知浏览器允许iframe内的页面使用和共享Session,从而修复登录和...
本文主要探讨如何解决Iframe跨域访问Cookie和Session的问题。 首先,理解跨域访问的基本概念。在Web浏览器的安全策略中,同源策略(Same-origin policy)禁止了一个源(协议+域名+端口)的文档或脚本直接获取另一个...
### iframe跨域嵌套自适应高度 在网页开发过程中,`iframe`作为一种常见的网页元素,被广泛用于在当前页面中嵌入另一个独立的文档或页面。然而,在实际应用中经常会遇到一些问题,如跨域限制、自适应高度调整以及...
环境: 前端 vue ip地址:192.168.1.205 ...搜索问题,发现跨域,服务器响应的setCookie浏览器无法保存,而且就算保存了域名不同也不能携带。 第一步: 后台添加过滤器,因为前后端分离,不可能每个方
【服务器Session丢失】是一个常见的问题,尤其是在Web应用开发中,涉及到用户状态管理时。Session是ASP.NET中用于存储用户特定信息的一种机制,当用户在网站的不同页面之间导航时,Session可以帮助保持用户的状态。...
- **PHP在IE下的iframe跨域session丢失问题**:由于浏览器同源策略,跨域会导致会话丢失,可以通过设置 P3P 头部或使用共享域名的 cookie 来解决。 - **Failed to write session data** 错误:这通常是因为临时...
- **Session丢失**:正式环境中,由于跨域请求或其他原因,服务器无法正确识别用户的Session信息,从而自动跳转至登录页面。 #### 解决方案 为了解决这个问题,可以通过以下步骤进行: 1. **协议一致性处理**:确保...
2. **Session丢失**:跨域请求无法携带Cookie,导致服务器端的Session无法正常工作。 3. **CORS(跨源资源共享)未开启**:如果目标服务器没有配置CORS策略,即使服务器返回了数据,浏览器也会因为安全原因拒绝解析...
Local Storage持久化存储数据,关闭浏览器也不会丢失,而Session Storage仅在当前会话有效。它们提供键值对存储,容量比Cookie大,但同样不能用于跨域,且数据安全性较低。 5. HTML5 History API: History API...
在Web开发中,`jsessionid`是一个常见的概念,它关联到Java服务器会话(Session)的管理。本文将深入探讨`jsessionid`存在的问题以及相应的解决方案,并结合提供的`DisableUrlSessionFilter.java`和`web.xml`文件来...
sessionStorage和localStorage也是客户端存储,但数据不会随浏览器关闭而丢失,它们分别用于临时和长期数据存储,且容量更大。 14. **Web Worker**: - Web Worker允许在后台线程中执行耗时任务,不影响主线程,...
- 在某些情况下,fetch会先发送预检请求(OPTIONS),以确认跨域请求是否被允许。 13. **Cookie、sessionStorage、localStorage的区别**: - Cookie存储在客户端,大小有限,且每次请求都会发送到服务器;...