我已经通过meta
-标签为我的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
,并只能将其作为HTTP标头发送到客户端,而且我不能像处理内容安全策略规则那样,只在meta
-标记中声明它?
是的,你理解得对。报告API只能通过HTTP头工作
此外,meta
-标记中不支持report-to
/report-uri
CSP指令。
如果您希望获得违规报告,CSP应该作为HTTP头从服务器传递。在使用report-uri
指令的情况下,您不需要任何特殊的东西,但如果使用report-to
指令,您还需要从服务器发布一个特殊的Report-to
HTTP标头
PS:目前只有Chrome支持Reporting API
/report-to
指令。