以前做过一个系统,需要在系统(A)中集成目前现存系统(B)的功能。
因为系统B做了权限控制,所以在系统A的数据库建立跟系统B一样的权限表,然后登录系统A后,将用户信息、权限信息等存放进session中,然后在系统B进行权限验证。
理论上这种设计在不使用框架结构时,完全是可行的。但是如果,系统A使用了框架结构,即系统(B)中的功能页面要嵌入到系统(A)的框架中时,系统B取不到session值了,既session丢失了。
原来是因为应用需求在一个页面的不同frame下面访问不同的域,结果造成了session丢失。
问题根源:
IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存在此问题了。Mircosoft对此的具体描述可以参见 Privacy in Internet Explorer 6
解决办法是在要嵌入的内容中(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\""")
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'" />
分享到:
相关推荐
NULL 博文链接:https://thoreau.iteye.com/blog/745100
何为跨域跨域session/cookie? 也就是第三方session/cookie。第一方session/cookie指的是访客当前访问的网站给访客的浏览器设置的seesion /cookie, 会被存储在访客的计算机上。第三方session/cookie指的是当前访问的...
现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不
主要介绍了前后端分离 vue+springboot 跨域 session+cookie失效问题的解决方法,解决过程也很简单 ,需要的朋友可以参考下
发现这个问题还真有不少人提及到。最后的解决方法是在那个登录页面里加上以下代码: 复制代码 代码如下: <span xss=removed>header(‘P3P: CP=”ALL ADM DEV PSAi COM OUR OTRo STP IND ONL”‘); session_start();&...
本篇文章小编将为大家介绍,关于Iframe如何跨域访问Cookie和Session的解决方法,有需要的朋友可以参考一下
今天小编就为大家分享一篇基于axios 解决跨域cookie丢失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
iframe跨域嵌套自适应高度 iframe跨域嵌套 丢失session值(针对嵌套asp.net 做的网站)
Asp.net在ashx文件中处理Session问题解决方法,需要的朋友可以参考一下
SessionState 的Timeout),其主要原因有三种 一:有些杀病毒软件会去扫描您的Web.Config文件,那时Session肯定掉,这是微软的说法。...今天遇到asp.net session丢失了,然后又回来了,session里存储的是用
—— 登录封禁、按照业务分类封禁、按照处罚阶梯封禁持久层扩展 —— 可集成Redis、Memcached等专业缓存中间件,重启数据不丢失分布式会话 —— 提供jwt集成、共享数据中心两种分布式会话方案微服务网关鉴权 —— ...
Session会话 —— 全端共享Session、单端独享Session、自定义Session 踢人下线 —— 根据账号id踢人下线、根据Token值踢人下线 账号封禁 —— 指定天数封禁、永久封禁、设定解封时间 持久层扩展 —— 可集成Redis、...
session跨域共享及企业级单点登录解决方案实战 分布式事务解决方案实战 高并发下的服务降级、限流实战 基于分布式架构下分布式锁的解决方案实战 分布式架构实现分布式定时调度 分布式架构-中间件 分布式消息...
cookie localStorage sessionStorage 概念 存放在客户端的一段文本信息 ...用来保存临时数据,防止用户刷新页面之后丢失参数 原生api 不好用,自己封装 还好 还好 应用 判断用户知否登录 购物车信息
141.rabbitmq 怎么避免消息丢失? 142.要保证消息持久化成功的条件有哪些? 143.rabbitmq 持久化有什么缺点? 144.rabbitmq 有几种广播类型? 145.rabbitmq 怎么实现延迟消息队列? 146.rabbitmq 集群有什么用? 147...