JavaScript同源策略以及跨域

JavaScript 同源策略
概念:同源策略是客户端脚本(尤其是JavaScript)的重要安全度量标准。其目的是防止某个文档或脚本从多个不同源装载。
同源指的是:协议,域名(包括子域名),端口相同。同源策略是一种安全协议。
具体表现在JS中:一段脚本自能读取来自同一来源的窗口的文档和属性。(iframe.contentDocument 等访问错误)

为什么要有同源限制?
如果没有同源策略,黑客通过iframe伪造一个网银登录界面,在父页面上直接获取iframe里面输入框的值。就能完成窃取账号密码的侵入行为。

什么是跨域
浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对js实施的安全限制

跨域的一些方案

1、document.domain

2、通过iframe嵌入页面

3、修改两个页面的 document.domain 为相同的主域(适用于主域相同,子域不同的页面通信,修改domain只能修改为自身或更高一级)

4、两个页面的 JavaScript通过对应的方法和属性访问彼此的元素和属性

5、jsonp

6、本地提供需要执行的方法

7、动态加载 script 提供callback参数

8、动态请求 script,服务端塞入数据 jsonp(json with padding)

9、请求完的 script 在页面上执行(已塞入远端数据)

10、window.name (个人感觉使用 window.name 跨域的方式比较鸡肋,一定是我打开的方式不对吧)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值