跨域 方案

跨域产生原因:

    同域策略:

同源策略的概念:

同域策略是计算机web应用安全模型中的重要概念。这个策略允许同一个站点(协议、 主机、 端口  三部分组成)中的脚步互相访问dom等,但是阻止来自不同域的 脚步执行。

        从不同域获取的文档互相隔离。不能跨域操作dom、 xmlHttpRequest、websocket.

同源策略的意义:

当今服务器广泛依赖cookie来维护认证用户信息、分发敏感信息、进行状态改变。

通过客户端无关站点的严格隔离来保证信息不丢失、不泄密、完整性。

跨域决定规则:

域决定规则图示:(基本URL:"http://www.example.com/dir/page.html")

             

同域策略crack:

  对于有多个子站的网站来说,同域策略太过拘束。

有几种方案可以绕过同域策略的限制。

跨域方案:

方案列表:

1:document.domain

2:跨域资源分享(Cross-Origin resource sharing)

3:跨文档消息

4:JSONP

方案总结:

跨文档dom操作:

>ie8 :优先使用 跨文档消息 (window.postMessage)。

        ie6 - 8:

iframe相关方案:

1: window.name 

2m 数据量限制。

2: window.navigator

注册事件传递消息。(推荐)

3: iframe的 window.location

1:轮询

    跨域文档可以互相访问iframe.contentWindow.location

  设置 location上面的hash来 设置发送消息。

iframe内部轮询(polling),获取信息。

2:事件

发送iframe设置接收iframe的宽高。

接收iframe设置 onresize 事件,获取消息。

相关资源:

同域策略:http://en.wikipedia.org/wiki/Same_origin_policy

  跨域iframe:

国外经典详细的iframe跨域技术方案解释

国外小伙iframe跨域方案的优化

淘宝window.name 跨域方案

淘宝最新的window.navigator 跨域方案
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值