内容安全策略 (CSP) 阻止 firefox 中的有效随机数

Content Security Policy (CSP) blocking valid nonce in firefox

我有一个 Web 服务器可以生成 http/html 对 GET 请求的响应。我添加了以下回复 header:content-security-policy: default-src 'nonce-Z2lnkA9A00KuJsXvx94P6hyDdyRUaxFCiV9lUS0XgWo' 'self' *.my-org.net *.my-org.com fonts.googleapis.com fonts.gstatic.com *.amazon.com;.

然后我将以下标签添加到我的 html 文档中:

<!-- these tags are blocked in firefox -->
<style nonce="Z2lnkA9A00KuJsXvx94P6hyDdyRUaxFCiV9lUS0XgWo"> some inline code ....
<script nonce="Z2lnkA9A00KuJsXvx94P6hyDdyRUaxFCiV9lUS0XgWo"> some inline code ....

<!-- this tag works as expected in all browsers-->
<script src="/scripts/utils.js"></script>

此代码在 chrome 和 edge 中正确执行,但 firefox 阻止了内联脚本标签,同时允许执行获取的脚本标签。

Firefox 控制台中的错误是:内容安全策略:页面的设置阻止了内联资源的加载(“default-src”)。

Firefox 似乎不支持 default-src 中的随机数。如果您使用必要的来源指定 script-src 和 style-src 指令,它应该可以工作。我用 Firefox 77 和 79 对此进行了测试。