问题描述
我有一个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进行了测试。