内容安全策略报告仅
HTTP Content-Security-Policy-Report-Only
响应头允许 Web 开发者发送 CSP 违规报告,以便通过监控(但不强制执行)其效果来试验策略。这允许在测试期间快速捕获和修复 CSP 违规。
Content-Security-Policy-Report-Only
的使用方式与 Content-Security-Policy
相同,但不会强制执行违规。必须指定 CSP report-to
指令才能发送报告:如果不指定,操作将没有任何效果。
违规报告使用 Reporting API 发送到在 Reporting-Endpoints
HTTP 响应头中定义的端点,并使用 CSP report-to
指令进行选择。
有关更多信息,请参阅我们的 Content Security Policy (CSP) 指南。
注意:此标头也可以与已弃用的 report-uri
指令一起使用(这将被 report-to
取代)。使用方法和产生的报告语法略有不同;有关更多详细信息,请参阅 report-uri
主题。
语法
Content-Security-Policy-Report-Only: <policy-directive>; ...; <policy-directive>; report-to <endpoint-name>
指令
Content-Security-Policy
标头的指令也可以应用于 Content-Security-Policy-Report-Only
,但 sandbox
指令除外,该指令将被忽略。
CSP report-to
指令应与该标头一起使用,否则将无效。
示例
要使用 report-to
指令,您首先需要使用 Reporting-Endpoints
HTTP 响应头定义相应的端点。在下面的示例中,我们定义了一个名为 csp-endpoint
的单个端点。
Reporting-Endpoints: csp-endpoint="https://example.com/csp-reports"
然后,我们可以使用 report-to
和 report-uri
定义报告的目标,如下所示。请注意,此特定报告将在页面以不安全的方式加载资源或从内联代码加载资源时触发。
Content-Security-Policy-Report-Only: default-src https:;
report-uri /csp-report-url/;
report-to csp-endpoint;
注意:report-to
指令优先于已弃用的 report-uri
,但我们声明了这两个指令,因为 report-to
尚未获得完全的跨浏览器支持。
规范
规范 |
---|
Content Security Policy Level 3 # cspro-header |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参见
内容安全策略
- CSP
report-to
指令 - CSP
report-uri
指令 已弃用