发布于2021-03-08 19:58 阅读(1141) 评论(0) 点赞(6) 收藏(2)
在了解跨域这个概念之前,先了解下浏览器的同源策略吧!
1.同源策略是浏览器设置的一种安全策略,限制了从同一个源加载的文档或脚本与来自另一个源的资源进行交互
2.什么是同源呢?
答:同源是两个URL具有相同的协议/端口号/域名
3.如果没有同源策略会怎么样呢?
最主要就是安全问题
没有同源策略就意味着一个网页可以随意访问另一个网页。会造成CSRF攻击和钓鱼网站可以直接拿到别的网站的Dom。
用户访问www.mybank.com ,登陆并进行网银操作,这时cookie啥的都生成并存放在浏览器
此时用户突然想访问一个网站 www.xiee.com
这时该网站就可以在它的页面中,拿到银行的cookie,比如用户名,登陆token等,然后发起对www.mybank.com 的操作。
如果这时浏览器不予限制,并且银行也没有做响应的安全处理的话,那么用户的信息有可能就这么泄露了。
4.同源策略的限制:
无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB
无法接触非同源网页的 DOM
无法向非同源地址发送 AJAX 请求
跨域是指从一个域名的网页去请求另一个域名的资源。由于存在同源策略,使得浏览器不能跨域访问。
(1)CORS(阮一峰老师跨域资源共享 CORS 详解)
(2)JSONP
在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。
(3)通过修改document.domain来跨子域
两个页面的document.domain都设成相同的域名就可以了
(4)使用HTML5的window.postMessage方法跨域
关于最后三种跨域方法,见此文档
https://segmentfault.com/a/1190000015597029此文档对于跨域问题也做了很好的理解
原文链接:https://blog.csdn.net/qq_40198520/article/details/114438718
作者:听说你混的不错
链接:http://www.qianduanheidong.com/blog/article/33658/0a402f360f98b8ae373a/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!