zoukankan      html  css  js  c++  java
  • IFrame session(转)

    问题场景:
    在一个应用(集团门户)的某个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");

  • 相关阅读:
    vue-cli脚手架 安装
    音视频
    移动端开发问题
    GIT提交命令清单
    关于cookie和$.cookie
    emoji表情进行编码以适配移动端用户emoji表情的输入和展示
    父组件如何使用子组件中的方法
    uniapp实现锚点跳转
    uniapp判断android还是iOS
    uniapp动态设置当前页面标题
  • 原文地址:https://www.cnblogs.com/huangyoum/p/3857736.html
Copyright © 2011-2022 走看看