问题场景:
在一个应用(集团门户)的某个page中, 通过IFrame的方式嵌入另一个应用(集团实时监管系统)的某个页面. 当两个应用的domain 不一样时, 在被嵌入的页面中Session失效。(session基于cookie实现,引用页不允许使用cookie).

问题分析:
IE6/IE7从安全性角度考虑,支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存在此问题了。

解决方案:
1. 修改Client的设置
使Client可以接受来自任何网站的Cookie(具体设置在IE选项的隐私页中, 将B站点加入到受信任的站点)
或者将两个domain都设置为受信任站点

2. 应用的domain修改
简单方案: 两个应用使用同一个domain

复杂方案: 可以在iframe加载的页面里通过setdomain来强制更改

3. P3P
第一种: 在要嵌入的内容中(iframe指向的站点)输出P3P的主机头声明, 步骤如下:
> 打开IIS管理器 inetmgr
> 选择被嵌入iframe源站点或者目录,右键点击打开属性框
> 切换到HTTP头
> 添加
> 自定义HTTP头名: P3P
> 自定义HTTP头值: CP="CAO PSA OUR"
> 关闭属性框退出,即刻生效

第二种: 在被嵌入页面page_onload里添加一语句:Response.AddHeader("P3P","CP=CAO PSA OUR");

IFrame session(转)的更多相关文章

  1. C# iframe session 丢失

    在页面A中使用iframe引用另一站点页面B,但页面B上面的session总是丢失,百度了一下,不用改程序,直接在iis里面操作,解决方法如下 1.打开IIS管理器 inetmgr 2.选择被嵌入if ...

  2. iframe session过期跳转到登陆页面

    在login.jsp中添加js: if(window !=top){ top.location.href=location.href; } <script type="text/jav ...

  3. 解决Iframe session过期,登录界面无法全页刷新

    在登录界面增加如下js代码: <script language=”JavaScript”> if (window != top) top.location.href = location. ...

  4. session登录超时跳出iframe页至登录窗口

    //当我们用权限框架控制登录超时跳至某一个页面时主页面都没什么问题:iframe会在当前窗口下再开一个会话很显然这不是我们想要达到的效果 在登录页中加入此判断即可 $(function(){ //if ...

  5. PHP之session相关实例教程与经典代码

    ·php 中cookie和session的用法比较 ·phpmyadmin报错:Cannot start session without errors问题 ·php中cookie与session应用学 ...

  6. Windows下使用python3 + selenium实现网页自动填表功能

    本文由博主(SunboyL)原创,转载请注明出处:https://www.cnblogs.com/SunboyL/p/11563345.html 因为工作原因,需要将xls文件的数据录入到网上.因为数 ...

  7. js通过隐藏iframe修改session值

    js:function selects(id, ss) { window.frames["UpSession"].window.location.href = "../U ...

  8. MVC 访问IFrame页面Session过期后跳转到登录页面

    Web端开发时,用户登录后往往会通过Session来保存用户信息,Session存放在服务器,当用户长时间不操作的时候,我们会希望服务器保存的Session过期,这个时候,因为Session中的用户信 ...

  9. 当session过期后自动跳转到登陆页而且会跳出iframe框架

    写项目时在重定向后一直存在一个问题就是重定向后登陆页面会出现在跳出的子框架里.

随机推荐

  1. [administrative][qemu][kvm] qemu使用--bridge-helper

    公司服务器,源码安装的 qemu-2.9.0. 不是yum装的. 问题1:非超级用户的kvm权限问题: 略,直接超级用户使用. 也许有用? https://access.redhat.com/docu ...

  2. C++生成静态库

    //StaticMath.h #include <iostream> class StaticMath { public: //StaticMath(void); //~StaticMat ...

  3. springboot注入properties配置到javabean

    一.再application.properties中添加 二. @Value("${field}")在字段上面加个注解

  4. idea+maven+springboot+mybatis+springmvc+shiro

    springboot就是把创建项目简单化,省去了以往的配置mybatis.springmvc的繁琐过程. 搭建web应用三个主要功能,请求和响应,数据库交互,权限配置. 一.idea创建项目 (1) ...

  5. 拦截器的作用之session认证登录和资源拦截

    背景: 在项目中我使用了自定义的Filter 这时候过滤了很多路径,当然对静态资源我是直接放过去的,但是,还是出现了静态资源没办法访问到springboot默认的文件夹中得文件.另外,经常需要判断当前 ...

  6. 在同一台电脑上部署多个tomcat服务器

    因为在写一些小的项目的时候,需要另外用到一台图片服务器,所以不得不开启多个tomcat了. 在这里我用的是tomcat 9.0,一个是正常时的tomcat,一个是图片服务器,在这里我就用tomcat1 ...

  7. 【托业】【新托业TOEIC新题型真题】学习笔记4-题库一->P7

    --------------------------------------单词-------------------------------------- reimbursement n. 报销:偿 ...

  8. Vue+typescript报错项

    39:1 Unable to resolve signature of class decorator when called as an expression. Type '<VC exten ...

  9. css实现右侧固定宽度,左侧宽度自适应

    https://blog.csdn.net/qq_22889599/article/details/78414040 反过来也可以:左侧宽度固定,右侧自适应.不管是左是右,反正就是一边宽度固定,一边宽 ...

  10. [vue]webpack使用样式

    webpack: 使用自己写样式 main.js导入全局生效 import Vue from 'vue' import App from './App.vue' import './index.css ...