微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么即使我在CSP声明中明确允许我的资源也被阻止?

如何解决为什么即使我在CSP声明中明确允许我的资源也被阻止?

大家好,希望您能提供帮助,但我不知道是否可以。在检查了有关CSP阻止的其他问题之后,他们都建议特别在标头中允许您的资源(或者如果您正在使用头盔,则在CSP声明对象中),现在我已经做到了,我仍然坚持不懈地获得同样的资源问题。

这是我通过头盔发表的声明

app.use(helmet());
app.use(
  helmet.contentSecurityPolicy({
    directives: {
      defaultSrc: [
        "'self'",'https://*.mapBox.com','https://*.stripe.com','blob',],baseUri: ["'self'"],fontSrc: ["'self'",'https:','data:'],scriptSrc: ["'self'",'https://*.cloudflare.com'],imgSrc: ["'self'",'https://www.gstatic.com'],scriptSrc: [
        "'self'",'https://cdnjs.cloudflare.com','https://api.mapBox.com','https://js.stripe.com',frameSrc: ["'self'",'https://*.stripe.com'],objectSrc: ["'none'"],styleSrc: ["'self'","'unsafe-inline'"],upgradeInsecureRequests: [],},})
);

然后是这些错误

web_worker.js:9 Refused to create a worker from 'blob:http://127.0.0.1:8000/a115d817-1a59-46c1-97e5-355513ade597' because it violates the following Content Security Policy directive: "script-src 'self' https://*.stripe.com https://cdnjs.cloudflare.com https://api.mapBox.com https://js.stripe.com blob". Note that 'worker-src' was not explicitly set,so 'script-src' is used as a fallback. 

这里还有另一个

Refused to load the image 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=' because it violates the following Content Security Policy directive: "img-src 'self' https://www.gstatic.com".

解决方法

控制台警告表明:

  • 您在 blob:方案中错过了冒号

  • 您需要在img-src指令中指定 data:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。