X-Content-Security-Policy-Report-Only不适用于Firefox 20

时间:2013-05-09 12:11:26

标签: firefox content-security-policy

我定义了以下内容安全策略:

X-Content-Security-Policy-Report-Only: default-src 'self'; report-uri /foo

如果我将其更改为X-Content-Security-Policy,则会强制执行该策略并发送报告。但是,当我将其设置为Report-Only时,控制台中不会显示任何策略警告,也不会发送任何报告。

我知道他们不支持unsafe-inlineunsafe-eval的错误,而是您必须使用options inline-script eval-script,但我不在此页面上使用。

我不知道这是否与它有很大关系,但标题是以X-Content-Security-Policy-Report-Only发送的,但Firebug会将其转换为x-content-security-policy-report-only - 只需更改大小写。

此外,在提供X-Content-Security-PolicyX-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政策。

所以它看到了标题,而不是处理它并报告但强制执行另一个,它完全放弃了它?

1 个答案:

答案 0 :(得分:0)

Uggh - 之前我看过错误报告,但没有仔细阅读,认为这是unsafe-inlineunsafe-eval问题。 https://bugzilla.mozilla.org/show_bug.cgi?id=687086实际上专门讨论了内联脚本没有触发策略,因为允许脚本运行。使用违反策略的其他内容(例如从其他地方加载脚本)进行测试,生成并发送报告。