解决访问不同的站点iframe应用session丢失(cookie丢失的问题)的问题
来源:互联网 发布:淘宝怎么转零食店 编辑:程序博客网 时间:2024/05/17 09:18
之前做一个页面时发现如果:A站iframe引用B站的页面时(A,B不在同一台服务器),如果在这个Iframe中B的页面做了跳转,当用IE浏览的时候会导致server 的session丢失,原因是IE的保护机制禁止将iframe中得到的sid传递给下一个页面。
解决方法比较简单:在B被引用的页面上添加JSP代码:
<% response.setHeader("P3P","CP=CAO PSA OUR"); %>
1.页面里的COOKIE不能是浏览器进程的COOKIE(包括验证票和不设置超时时间的COOKIE),否则跨域会取不到.这点做跨域COOKIE的人比较少提到.不过实际上留意下几家大学做的方案,有细微的提到他们的验证模块里的COOKIE是有设置超时时间的.
2.当利用IFRAME时,记得要在相应的动态页的页头添加一下P3P的信息,否则IE会自觉的把IFRAME框里的COOKIE给阻止掉,产生问题.本身不保存自然就取不到了.这个其实是FRAMESET和COOKIE的问题,用FRAME或者IFRAME都会遇到.
3.测试时输出TRACE,会减少很多测试的工作量.
只需要设置 P3P HTTP Header,在隐含 iframe 里面跨域设置 cookie 就可以成功。他们所用的内容是:
P3P: CP='CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR'
ASP直接在头部加了头部申明,测试有效。<%Response.AddHeader "P3P", "CP=CAO PSA OUR"%>php的话,应该是如下写法:header('P3P: CP=CAO PSA OUR');ASP.NET的话通过在代码上加Response.AddHeader("P3P", "CP=CAO PSA OUR")或者在Window服务中将ASP.NET State Service 启动。JSP:response.setHeader("P3P","CP=CAO PSA OUR")
- 解决访问不同的站点iframe应用session丢失(cookie丢失的问题)的问题
- 解决同一IP不同端口访问的站点iframe应用session丢失的问题
- 解决iframe中session丢失的问题
- iframe session 丢失的问题
- 解决同一IP不同端口或跨域访问站点iframe应用session丢失的问与及ASP.NET 开发相关超时设置
- Asp.net mvc如果解决Iframe、Frameset 中Session、Cookie丢失的问题。
- Asp.net mvc如果解决Iframe、Frameset 中Session、Cookie丢失的问题。
- iframe跨域Session丢失问题的解决办法
- 用P3P header解决IE下iframe跨域访问时候session丢失的问题
- Session丢失的问题!
- iframe的session丢失
- 服务器间访问session丢失的问题
- 解决window.showModalDialog丢失session的问题
- 关于IE下面iframe跨域 cookie丢失的问题
- 关于IE下面iframe跨域 cookie丢失的问题
- iframe中跨域cookie丢失问题java解决
- 系统间使用iframe引用时,session丢失的问题
- iframe跨域cookies和Session丢失问题的解决办法
- windows如何使用ssh登录ubuntu
- java关于线程简单介绍
- ATL 实现IObjectSafety 接口
- git学习二 创建工程
- 将天文数字转换成中文大写
- 解决访问不同的站点iframe应用session丢失(cookie丢失的问题)的问题
- XCode的时间
- mysql 集群以及部署
- C#后台调用前台javascript的五种方法
- 开启3389系列
- 设计模式--单例模式(Singleton)
- js操作select标签
- 记暴库高级方法讲解
- 如何处理$.getjson 返回值 为空的问题