©
This document usesPHP Chinese website manualRelease
HTTPContent-Security-Policy-Report-Only
响应头允许Web开发人员通过监视(但不强制执行)其效果来实验策略。这些违规报告由通过HTTP 请求发送到指定URI 的JSON文档组成POST
。
有关更多信息,另请参阅本文有关内容安全策略(CSP)的文章。
标题类型 |
响应标题 |
---|---|
禁止标题名称 |
没有 |
| This header is not supported inside a element. |
Content-Security-Policy-Report-Only:;
Content-Security-Policy
标题的指令也可以应用于Content-Security-Policy-Report-Only
。
CSPreport-uri
指令应该与这个标题一起使用,否则这个标题将是一个昂贵的不操作机器。
标题报告可能发生的违规行为。您可以使用它来反复处理您的内容安全策略。您可以观察您的网站的行为,监视违规报告,然后选择Content-Security-Policy
标题实施的所需策略。
Content-Security-Policy-Report-Only: default-src https:; report-uri /csp-violation-report-endpoint/
如果您仍然希望接收报告,但也希望强制执行策略,请在report-uri
指令中使用Content-Security-Policy
标题。
Content-Security-Policy: default-src https:; report-uri /csp-violation-report-endpoint/
报告JSON对象包含以下数据:
document-uri
发生违规的文档的URI。
referrer
违规发生的文件的推荐人。
blocked-uri
内容安全策略阻止加载的资源的URI。如果阻止的URI来自与document-uri不同的来源,则阻止的URI将被截断以仅包含方案,主机和端口。
violated-directive
违反政策部分的名称。
original-policy
由Content-Security-Policy
HTTP header.disposition 指定的原始策略根据是否使用Content-Security-Policy
标题或Content-Security-Header-Report-Only
标题而“enforce”或“reporting” 。
让我们考虑一个位于http://example.com/signup.html
的页面。它使用以下策略,禁止除了样式表之外的所有内容cdn.example.com
。
Content-Security-Policy-Report-Only: default-src 'none'; style-src cdn.example.com; report-uri /_/csp-reports
HTML的signup.html
外观如下所示:
你能发现违规行为吗?样式表只允许加载cdn.example.com
,但网站尝试从它自己的原点加载一个(http://example.com
)。能够执行CSP的浏览器将下列违规报告作为POST请求发送至http://example.com/_/csp-reports
访问文档时:
{ "csp-report": { "document-uri": "http://example.com/signup.html", "referrer": "", "blocked-uri": "http://example.com/css/style.css", "violated-directive": "style-src cdn.example.com", "original-policy": "default-src 'none'; style-src cdn.example.com; report-uri /_/csp-reports", "disposition": "report" }}
正如您所看到的,报告包含违规资源的完整路径blocked-uri
。这并非总是如此。例如,当signup.html
试图从中加载CSS时http://anothercdn.example.com/stylesheet.css
,浏览器将不包含完整路径,而只包含origin(http://anothercdn.example.com
)。这是为了防止泄露有关跨源资源的敏感信息。
规范 |
状态 |
评论 |
---|---|---|
内容安全策略3级 |
编辑草稿 |
没有变化。 |
内容安全策略2级 |
建议 |
初始定义。 |
Feature |
Chrome |
Firefox |
Edge |
Internet Explorer |
Opera |
Safari |
---|---|---|---|---|---|---|
Basic Support |
25 |
23.0 |
14 |
10 |
15 |
7 |
Feature |
Android |
Chrome for Android |
Edge mobile |
Firefox for Android |
IE mobile |
Opera Android |
iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support |
4.4 |
(Yes) |
(Yes) |
23.0 |
? |
? |
7.1 |
Content-Security-Policy
CSPreport-uri
directive
Content Security in WebExtensions
Display security and privacy policies In Firefox Developer Tools
https://report-uri.io – CSP and HPKP reporting
Hosted CSP reporting for HTTPS migrations