繁体   English   中英

拒绝加载图像'<url> ' 因为它违反了以下内容安全策略指令:“img-src 'self' data:”</url>

[英]Refused to load the image '<URL>' because it violates the following Content Security Policy directive: "img-src 'self' data:"

在我将我的网站上传到 herokuy 后,图像无法正常工作,这给了我这个错误

拒绝加载图像'',因为它违反了以下内容安全策略指令:“img-src 'self' data:”。

我尝试过类似的东西

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; font-src data:" />

但它也不起作用

这将禁用contentSecurityPolicy中间件,但保留 rest:

app.use(
  helmet({
    contentSecurityPolicy: false,
  })
);
app.use(helmet({ crossOriginEmbedderPolicy: false, originAgentCluster: true }));
app.use(
  helmet.contentSecurityPolicy({
    useDefaults: true,
    directives: {
      "img-src": ["'self'", "https: data: blob:"],
    },
  })
);

更好的做法,而不是将 contentSecurityPolicy 设置为 false,这应该是最后一个选项。 使用Helmet 文档有很大帮助。 我在我的应用程序中使用了它,它很好地解决了这个问题。 我的应用程序托管在这里 在这里查看我的源代码。

app.use(
  helmet.contentSecurityPolicy({
    useDefaults: true,
    directives: {
      "img-src": ["'self'", "https: data:"]
    }
  })
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM