IE中iframe跨域访问

1      什么叫跨域?

       指在A系统(第一方)中通过URL直接调用B系统(第三方),并且两个系统分别部署在不同的域内,简单的理解就是访问这两个系统需要不同的IP。后面说明也已A系统、B系统为例。

2      跨域会引发什么问题?

       在IE中,A系统中的iframe或者frame跨域访问了B系统一个资源时,IE浏览器默认设置是禁用第三方Cookie的,这就导致向B系统发送请求时丢失了JSESSIONID,从而B系统服务器中就无法得到session对象,就会引发一系列问题。关于Cookie和session的关系,可以看前一篇文章Session深度解析,这里不再赘述。

       IE中如此处理可能也是出于安全考虑,经测试,在Chrome、FireFox中默认是允许第三方Cookie的,也就不会存在跨域引发的问题。这种跨域的情况通常出现在多个系统间互相嵌入某些功能。

3      如何解决?

       解决方案可以分两个方面,一种是客户端(需要访问A系统的浏览器)处理,另一种是服务端(B系统)处理。

3.1  浏览器

3.1.1  放弃IE

       那是不可能的。

3.1.2  允许第三方Cookie

       工具 - Internet选项 - 隐私 - 高级 - 勾选替代自动cookie处理 - 确定。

3.1.3  设置可信站点

       访问A系统前,将B系统的IP添加到可信站点中,这样设置能比接受第三方Cookie安全些。

       工具 - Internet选项 - 安全 - 受信任的站点 - 站点 - 添加 - 确定。

3.2  服务器

3.2.1  可以被集成的模块不需要Session

       局限性太大。

3.2.2  P3P协议

       在B系统中允许被跨域访问的功能模块中加入P3P响应头,response.setHeader("P3P","CP=CAOPSA OUR");,记住是B系统中加,不是A系统。

       关于P3P的介绍可以看这篇文章http://www.cnblogs.com/_franky/archive/2011/03/16/1985954.html

       (完)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术小黑屋

Android支持动态申请权限么

作为Android开发者,为程序增加权限是在正常不过的事情了,做法必然是在mainifest中,写入类似这样<uses-permission android:n...

743
来自专栏木子昭的博客

markdown一键转换到微信公众号编辑器格式(送MarkEditor激活码)

MarkEditor是我目前找到的,将markdown转换为微信公众号格式, 最为方便的软件, 功能很强大, 官网: https://www.markedito...

612
来自专栏IT派

Python盗号原理-代码实现截屏键盘记录远程发送

最简单的,也是技术手段相对较低的盗号方式当属钓鱼了(当然,社工更考验心理),除了钓鱼网站,就是发布某些带有诱惑性的工具,诱导消费者下载,运行后开启后门,或者启用...

904
来自专栏不想当开发的产品不是好测试

postman也可以使用F12功能

背景: 做过接口测试的话,大多数都知道或使用过postman工具,使用postman的时候,有时候希望也可以像chrome一样使用F12功能,这样方便观察一些数...

1909
来自专栏企鹅号快讯

小程序的APPID到底有什么用?小程序问答#3

hello大家好,今天小柳又来给大家解答在小程序的使用过程中,最常出现的问题及疑惑。 Q1 问 小程序的 AppID 是什么东西?有什么用? 答 想要获得 Ap...

2660
来自专栏有趣的django

Django REST framework+Vue 打造生鲜超市(一)

一、项目介绍 1.1.掌握的技术 Vue + Django Rest Framework 前后端分离技术 彻底玩转restful api 开发流程 Django...

62010
来自专栏java闲聊

SpringBoot+Vue2.x登陆功能

1794
来自专栏情情说

推荐2个工具

2878
来自专栏happyJared

爬虫进阶:Scrapy入门

  学Py和写爬虫都有很长一段时间了,虽然工作方面主要还是做Java开发,但事实上用python写东西真的很爽。之前都是用Requests+BeautifulS...

392
来自专栏谈补锅

Phonegap之ios对iPhone6和Plus的闪屏适配 -- xmTan

  故事的发生起于,由于老板强烈要求app在iPhone6和5有一样的工具栏,然后前端妹子用@media为iPhone6和Plus做了样式适配。然后问题来了,竟...

1334

扫码关注云+社区