用P3P header解决IE下iframe跨域访问时候session丢失的问题
用P3P header解决IE下iframe跨域访问时候session丢失的问题
整合客户的登录时,或者其他一个网站通过iframe时,特别是一个http页面,访问一个https页面时,常常会session失效!
E6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存 在此问题了。
在frameset里面,也就是里面的frame是来自第三方站点(不同IP或 不同域名),那么默认情况下IE会自动禁用这些站点的cookie,也就是在请求某url时在HTTP header里不发送它们的cookie,包括session的cookie。注意,这些站点在response里面设置的cookie还是会被发送到浏 览器的。
在用户浏览a.php时 A.com写入的为第一方Cookie,其嵌入的iframe指向b.php.这时B.com写入的就为第三方Cookie了,所以它是被IE当在了大门外。 所以,每次当用户提交的cookie提交时,就挂掉了.因为传不到真实的服务器.
解决方案:
只需要设置 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="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
ASP.NET的话
通过在代码上加Response.AddHeader("P3P", "CP=CAO PSA OUR")或者在Window服务中将ASP.NET State Service 启动。
JSP:
response.setHeader("P3P","CP=CAO PSA OUR")
用P3P header解决IE下iframe跨域访问时候session丢失的问题相关推荐
- CP=CAO PSA OUR 用P3P header解决iframe跨域访问cookie
短信模块以iframe方式嵌入系统,系统登录时,短信登录失败,这种情况只在win7下IE出现,win10未出现. 原因:IE禁止iframe跨域访问cookie 解决方案: 在短信登录时,进行如下设置 ...
- 利用代理页面解决html iframe跨域访问网站问题
原文:利用代理页面解决html iframe跨域访问网站问题 源代码下载地址: http://www.zuidaima.com/share/1854884509142016.htm 在做项目的时候遇到 ...
- html的页面怎样直接跨域访问,【HTML】iframe跨域访问问题
概述 本地同一浏览器访问本地HTML文件和访问服务器端HTML文件,本地Iframe没有自适应高度,而服务器端的Ifrane自适应了高度. 1.问题重现: Chrome 版本 41.0.2272.10 ...
- iframe 跨越访问_js iframe跨域访问
1.什么是跨域? 2.前台解决跨域几种方法 2.1 动态创建script 2.2 使用document.domain 2.3使用HTML5新属性postMessage 2.4 利用iframe和loc ...
- QQ登录IE下iframe跨域session和cookie失效问题的解决方案
情景:webQQ登录,使用的是跨站点iframe弹窗登录,发现只有在IE浏览器下,登录存储session不起作用,一刷新页面就登出 分析:IE限制第三方session/cookie 随着IE版本的不断 ...
- java iframe 跨域,jsp与iframe跨域访问的一个方法
前提条件: 假设有两个页面 one.html.two.html. one.html 中有js方法 function one(){}: two.html 中有js方法 function two(){}: ...
- IE下iframe跨域session和cookie失效问题的解决方案
http://blog.csdn.net/wauit/article/details/9875157 转载于:https://www.cnblogs.com/thiaoqueen/p/7590475. ...
- iframe 跨越访问_iframe跨域访问
js跨域是个讨论很多的话题.iframe跨域访问也被研究的很透了. 一般分两种情况: 一. 是同主域下面,不同子域之间的跨域: 同主域,不同子域跨域,设置相同的document.domian就可以解决 ...
- 解决Vue跨域访问后端API问题
文章目录 前言 一.vue.config.js文件 二.配置代理参数 总结 前言 我们在写前后端分离的时候,请求后端接口是必要步骤,但是这个时候就有个问题,因为前端和后端是归属于不同端口,我们在直接访 ...
最新文章
- SQL查询从多个表返回数据
- java提高篇之数组(2)
- 【渝粤教育】国家开放大学2018年秋季 8038-22T实用管理基础 参考试题
- 蔚来与雷蛇联合推出NIO ES6限量版车型 售价46.78万元
- MAX31855 热电偶至数字输出转换器
- python学习笔记第六节(函数,装饰器)
- 【输入法】迄今为止,居然有这么多汉字输入法!
- GitHub中文排行榜
- WSO2身份服务中的关键概念一: 单点登录与身份联合
- Opencv求轮廓的中心点坐标
- 大型网站架构技术演进(史上最全)
- Latex使用本地字体
- eclipse软件无法打开的原因
- 部分STL_hanhan~
- Python 获取本月的最后一天
- AutoLisp从入门到放弃(二十一)
- 秋招攻略—如何成为一名图像算法攻城狮(上篇)—知识学习篇
- 小明的游戏1,小明的游戏5(python)
- 7N60-ASEMI低功耗mos管7N60
- 如何使用git上传文件到gitee以及大项目文件(超过100MB的文件如传送)remote: error: File: f422c55c723a183a1944cbec840c0171042(超详细)
热门文章
- MySQL几个特别语法示例
- 自动根据动态的intput计算值
- 301重定向的好处:
- 全面讲解电脑主板-图文
- 学习《Building Applications with FME Objects》 之二 使用Sessions(会话)
- Java数据结构2:堆排序思考
- linux使用opengl获取纹理id,opengl – 通过纹理id获取纹理目标
- hiv实验室抗体筛查流程图_HIV自测都有哪些方法?结果准确么?
- python怎么画小海龟_Python 海龟 turtle 画图实战任务(一):让小海龟留下Z字形的足迹以及绘制一个小于号<...
- Python中的[:n],[::n],[:,:,n],[...,n]介绍