跨域资源共享(CROS)
同源策略(Same Origin Policy, SOP)
同源策略允许运行在页面的脚本可以无限制的访问同一个网站(同源)中其他脚本的任何方法和属性。当不同网站页面(非同源)的脚本试图去互相访问的时候,大多数的方法和属性都是被禁止的。
同源
- 协议
- 域名
- 端口号
只要以上三个值是相同的,我们就认为这两个资源是同源的。
跨域资源共享(CROS)
简介
CORS
通过设置HTTP
头部字段,让客户端有资格跨域访问资源。字段包含如下。
Access-Control-Allow-Origin: https://example.com
存在用户凭据
如果服务器的返回报文中包含如下,则可以向这个域中发送用户凭据。
Access-control-allow-credentials: true
Access-control-allow-origin: https://example.com
未存在用户凭据
Access-control-allow-credentials: true
Access-control-allow-origin: null
- 客户端缓存中毒
- 服务器端缓存中毒
绕过
防御
配置Vary: Origin
头部,这个头部字段向客户端表明,服务器端返回内容的将根据请求中Origin
的值发生变化。