如何在启用头盔的情况下在 nodejs 应用程序中使用第三方库和内联脚本

How to use 3rd party libraries and inline scripts in nodejs app while helmet enabled

我正在开发一个 nodejs 应用程序并实现了一些安全性, 我这样用头盔

app.use(helmet()) 

现在浏览器不允许我使用第三方库和内联脚本。你可以查看图片

所以我找到了解决方案。见下文

app.use(helmet({  contentSecurityPolicy: false}))

现在一切都解决了。 我想知道为什么会发生这种情况如何在不设置 contentSecurityPolicy: false in helmet

的情况下使用第三方库和内联脚本

我还发现我们必须在 public 文件夹中包含一个 manifest.json 文件,并在其中提及所有第三方库。如何暗示?提前致谢

这里是头盔维护员。

发生这种情况是因为 Helmet 默认设置的内容安全策略。要解决您的问题,您需要配置 Helmet 的 CSP。

MDN has a good documentation about CSP which I would recommend reading for background. After that, take a look at Helmet's README 查看如何配置其 CSP 组件。

总结:要解决您的问题,您需要告诉 Helmet 配置您的 CSP。