Chrome正在向report-uri
报告内容安全政策违规行为,但它没有报告任何违规详情。它会报告{}
,而不是提供有关违规政策的详细信息。所有其他浏览器似乎都在报告违规细节。我的政策如下。
我已经尝试过了......
report-uri
指令中。 Report-Only
模式default-src 'none' ; report-uri /api/csp-report;
我尚未找到答案的问题
政策(通过HTTP标头发送)
Content-Security-Policy-Report-Only:default-src' none' ;脚本-SRC '自' '不安全-EVAL' https://www.google-analytics.com;风格-SRC '自' '不安全直插' https://fonts.googleapis.com; img-src' self' https://www.google-analytics.com; font-src' self' https://fonts.gstatic.com; connect-src' self' https://api.servicesite.com; frame-src' none' ; child-src' none' ; 框架 - 祖先'无' ;形式行动' self' ; 升级不安全,请求;块全混合内容;反射XSS 块; base-uri https://*.mysite.com;引用 原点时交起点; report-uri / api / csp-report;
这让我觉得这是我接收代码中的一个解析问题(节点,使用body-parser表达)。但是,仍然对为什么这只会发生在Chrome CSP报告中而感到困惑。所有其他浏览器的报告都通过了。
答案 0 :(得分:6)
application/json
content-type: application/json
的请求,必须包含application/csp-report
作为要解析的有效内容类型。改变了这个......
app.use(bodyParser.json());
对此......
app.use(bodyParser.json({type: ['application/json', 'application/csp-report']}));