HTTP 标头 |跨源资源策略
Cross-Origin-Resource-Policy是一个 HTTP 响应类型的标头,它允许服务器防止返回的源的某些跨域或跨站点嵌入。它补充了Cross-Origin Read Blocking (一种用于防止某些跨域读取的机制),因此对于 CORB 未涵盖的资源特别有价值。这也作为同源策略的附加层。这有助于减轻投机性侧通道攻击以及跨站点脚本包含攻击。
跨源资源策略是保护图像免受 Spectre 攻击或受损渲染器的唯一方法。
但是,由于 chrome 错误,此响应标头有时会中断文件下载并阻止用户在资源上使用另存为和图像另存为。
句法:
Cross-Origin-Resource-Policy: same-site | same-origin | cross-site
指令:此标头接受上述三个指令,如下所述:
- same-site:此指令仅允许用户在浏览器识别出来自同一站点(可注册域)的请求时读取资源。
- 同源:该指令仅允许用户在浏览器识别出来自同源([方案、主机、端口])的请求时读取资源。
- cross-site:该指令允许来自不同站点的用户请求也可以读取资源。
注意:如果在跨域资源检查过程中设置了header,那么浏览器会自动拒绝所有不同来源或站点发出的no-cors请求。
下面的示例说明了HTTP Cross-Origin-Resource-Policy :
例子:
- 在下面的示例中,仅允许浏览器识别为来自同一站点的请求读取资源。
Cross-Origin-Resource-Policy: same-site
- 在下面的示例中,仅允许浏览器识别为来自同一来源的请求读取资源。
Cross-Origin-Resource-Policy: same-origin
支持的浏览器:下面列出了与HTTP Cross-Origin-Resources-Policy兼容的浏览器:
- 谷歌浏览器
- 火狐
- 苹果浏览器