跨域问题
2022-11-09 16:55:59
由于浏览器的同源策略限制,是浏览器最核心也是最基本的安全功能 同源策略:协议、端口号、域名三者皆相同
什么是跨域?
请求的 url 的协议、端口号、域名中任意一个与当前页面的不同时即为跨域
example:www.baidu.com 和 www.sougou.com
两个 url 的域名不同,即为跨域
非同源限制
- 不能读取非同源网页的 cookie 和 localStorage
- 不能接触非同源网页的 dom
- 不能向非同源地址发请求
解决方案
- CORS 在服务端设置,如 Access-Control-Allow-Origin: 地址
- Reverse Proxy,在 nginx/traefik/haproxy 等反向代理服务器中设置为同一域名
- 利用
<script>
标签没有跨域限制的漏洞 缺点:只支持 get 方法,不安全,可能会遭受 XSS 攻击