首页 > 解决方案 > 在 HTML `meta`-tag 中使用 `report-to` 配置 Content-Security-Policy (CSP) 报告

问题描述

meta我通过-tag为我的 SPA 应用程序定义了内容安全策略 (CSP) :

<meta content = "default-src https: 'self' https://%SOME_DOMAIN%.com 'unsafe-eval' 'unsafe-inline'; child-src 'none'; object-src 'none';"
      http-equiv = "Content-Security-Policy" />

一切正常,如果出现违规行为,我会在控制台中看到警告。现在,我想使用指令
向后端发送自动报告。report-to

我是否理解正确,由于安全原因,我可以report-to在后端配置 only 并将其仅作为 HTTP 标头发送到客户端,并且我不能meta像我一样在 -tag中声明它已经完成了内容安全策略规则?

标签: content-security-policy

解决方案


是的,你理解正确。报告 API仅通过 HTTP 标头工作。
此外, -tag不支持report-to/ CSP 指令。report-urimeta

如果您希望获得违规报告,则 CSP 应作为 HTTP 标头从服务器传送。在使用report-uri指令的情况下,您不需要任何特殊的东西,但在使用report-to指令的情况下,您还需要Report-to从服务器发布一个特殊的 HTTP 标头。

PS:目前只有 Chrome 支持Reporting API/report-to指令。


推荐阅读