同源策略

定义

同源(同域)指的是三个相同:协议,域名,端口

第一:如果是协议和端口造成的跨域问题“前台”是无能为力的,(只能通过后台实现)
第二:在跨域问题上,域仅仅是通过“URL的首部”来识别而不会根据域名对应的IP地址是否相同来判断。
“URL的首部”可以理解为“协议, 域名 和 端口 必须匹配”。

clipboard.png

目的

为了保证用户信息的安全,防止恶意网站窃取数据
Cookie 往往用来保存用户的登录状态,如果用户没有退出登录,其他网站就可以冒充用户,为所欲为。因为浏览器同时还规定,提交表单不受同源政策的限制
所以同源策略非常重要,不然cookie可以共享,互联网没有安全可言。

限制范围

非同源:

  1. Cookie(window.domain)

  2. LocalStorage(window.postMessage)和IndexDB无法读取

  3. DOM无法获取(iframe和window.open打开的窗口)(window.domain)(window.postMessage)

  4. AJAX请求不能发送


规避限制一:Cookie
采用document.domain

规避限制二:iframe
采用document.domain

规避限制三LocalStorage
采用window.postMessage方法

规避限制四:AJAX
同源政策规定,AJAX请求只能发给同源的网址,否则就报错。
除了架设服务器代理(浏览器请求同源服务器,再由后者请求外部服务),有三种方法规避ajax限制。
JSONP
WebSocket
CORS

跨域方法

详见跨域方法(个人整理版本)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值