我们正在创建一个公共Shopify应用程序,要求用户在他们的感谢页面中嵌入跟踪代码。我们收到以下错误在Chrome浏览器当感谢页面加载。
Refused to load the image, the message is a as follows because it violates the following Content Security Policy directive: "img-src 'self' https: blob: data:".
我们如何修复这个CSP(内容安全策略)问题?
内容安全策略是一个HTTP响应头,它控制允许浏览器从哪里加载特定类型的内容。来自Chrome的错误信息提供了策略指令:
img-src 'self' https: blob: data:
img-src指令告诉浏览器允许从哪里加载图像资源(<img>
)。根据此策略,允许的图像源是'self'
,这是您自己的域,https:
允许使用https的任何主机,然后'blob'
和'data'
允许使用这些uri中的任何一个。
目前,您正在尝试从http://rdr.merchico.com加载您的图像,如上面的评论所示。这与CSP中允许的任何源都不匹配。该域名似乎是通过https提供的,所以如果您将图像的src
属性更改为https://rdr.merchino.com,那么它将被CSP允许,因为它与https:
源匹配。