Skip to content

跨域问题 ​

2022-11-09 16:55:59

由于浏览器的同源策略限制,是浏览器最核心也是最基本的安全功能 同源策略:协议、端口号、域名三者皆相同

什么是跨域? ​

请求的 url 的协议、端口号、域名中任意一个与当前页面的不同时即为跨域

example:www.baidu.com 和 www.sougou.com

两个 url 的域名不同,即为跨域

非同源限制 ​

  • 不能读取非同源网页的 cookie 和 localStorage
  • 不能接触非同源网页的 dom
  • 不能向非同源地址发请求

解决方案 ​

  1. CORS 在服务端设置,如 Access-Control-Allow-Origin: 地址
  2. Reverse Proxy,在 nginx/traefik/haproxy 等反向代理服务器中设置为同一域名
  3. 利用 <script> 标签没有跨域限制的漏洞 缺点:只支持 get 方法,不安全,可能会遭受 XSS 攻击

Released under the MIT License.