跨域与同源策略

首先,我们要对网址有个了解。

一个网址的结构时这样的:

这里写图片描述

两个页面拥有相同的协议(protocol),主机(host),和端口(port),那么这两个页面就属于同一个源(origin)。

  • 常见的协议有:http、https、file、ftp、ssh等。
  • 主机:比如www.google.cn、www.csdn.net
  • 端口:可能平常在浏览器的地址栏中我们看不到端口号,那是因为网址使用的时默认的端口号,所以可以省略。

不满足同源策略的资源访问,叫跨域资源访问。

浏览器出于安全方面的考虑,只允许与本域下的接口交互。比如一个黑客,他利用iframe把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名和密码登录时,如果没有同源限制,他的页面就可以通过 JavaScript读取到你的表单中输入的内容,这样用户名和密码就轻松到手了。又比如你登录了CSDN,同时浏览了恶意网站,如果没有同源策略限制,该恶意网站就可以构造AJAX请求频繁在CSDN发广告帖。

注意: 对于当前页面来说页面存放的 JS 文件的域不重要,重要的是加载该 JS 页面所在什么域。

虽然浏览器时处于安全性的考虑而使用了同源策略,但是也会给我们带来一些麻烦,最常见的就是ajax请求了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值