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

问题描述

我有一个Web服务器,该服务器生成对GET请求的http / html响应。我添加了以下响应标头:class I_A { virtual void foo() = 0; }; class I_B : public I_A { virtual void bar() = 0; }; class A : public I_A { void foo() override {} }; class B: public A,public I_B { void bar() override {} }; B b; ///< Compiler says it is abstract

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

content-security-policy: default-src 'nonce-Z2lnkA9A00KuJsXvx94P6hyDdyRUaxFCiV9lUS0XgWo' 'self' *.my-org.net *.my-org.com fonts.googleapis.com fonts.gstatic.com *.amazon.com;

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

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

解决方法

似乎Firefox在default-src中不支持随机数。如果您使用必需的源指定script-src和style-src指令,则它应该起作用。我使用Firefox 77和79进行了测试。