拒绝将字符串计算为JavaScript,因为“unsafe-eval”不是脚本的允许源内容安全策略指令:default-src self

vxbzzdmp  于 2023-01-11  发布在  Java
关注(0)|答案(2)|浏览(389)

在我的应用程序中,我希望内容安全策略:所有指令都应设置为self,但当我尝试这样做时,它显示以下错误
未捕获的EvalError:拒绝将字符串计算为JavaScript,因为"unsafe-eval"不是以下内容安全策略指令中允许的脚本源:"默认源代码'自己'; ".

at Function (<anonymous>)
at Function._init (yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.js:8:3195)
at yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.js:9:4331
at yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.js:9:4558

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:"default-src 'self'"。启用内联执行需要" unsafe-inline "关键字、哈希(" sha256-BfUVqxUMiFIZGvtAvlU3O1tTN9idUT5IuAIpMSM2F5g =')或随机数("nonce-...")。另请注意,未显式设置"script-src",因此"default-src"用作回退。
拒绝加载样式表"https://fonts. googleapis. com/css?family = Open + Sans:300,300i,400,400i,600,600i,700,700i,800,800i&display = swap",因为它违反了以下内容安全策略指令:"default-src 'self'"。请注意,未显式设置' style-src-elem ',因此使用' default-src '作为回退。

raogr8fs

raogr8fs1#

内容安全策略必须具有以下指令:

default-src 'self';
script-src 'self' 'unsafe-eval'; 
style-src 'self' fonts.googleapis.com;

等等。

fhity93d

fhity93d2#

如果您在Node.JS服务器上使用helmet,您可以配置以下内容:

server.use(helmet({
    contentSecurityPolicy: false
}));

或者,您可以配置以下内容以将特定域列入白名单:

server.use(
  helmet.contentSecurityPolicy({
    directives: {
      "script-src": ["'self'", "example.com"],
      "style-src": null,
    },
  })
);

相关问题