我定义了以下内容安全策略:
X-Content-Security-Policy-Report-Only: default-src 'self'; report-uri /foo
如果我将其更改为X-Content-Security-Policy
,则将强制执行该策略并发送报告。但是,当我将其设置为 时Report-Only
,控制台中不会出现任何策略警告,也不会发送任何报告。
我知道他们不支持的错误,unsafe-inline
并且unsafe-eval
您必须使用options inline-script eval-script
,但我没有在此页面上使用任何一个。
我不知道这是否与它有很大关系,但是标头被发送为X-Content-Security-Policy-Report-Only
,但 Firebug 将其转换为x-content-security-policy-report-only
- 只需更改大小写。
此外,当同时提供X-Content-Security-Policy
和X-Content-Security-Policy-Report-Only
如下时:
X-Content-Security-Policy: default-src 'self'; options inline-script; report-uri /csp-report.php
x-content-security-policy-report-only: default-src 'self'; report-uri /csp-report.php
控制台有一条 WARN 级别的消息:
仅报告 CSP 策略将被忽略,因为应用了其他非仅报告 CSP 策略。
所以它看到了标题,而不是处理它和报告,而是强制执行另一个,它完全放弃了它?