使用CSP img-src *的Chrome仍会阻止图像

时间:2015-12-04 19:51:55

标签: google-chrome content-security-policy

我的网络应用程序有一个内容安全策略,它将img-src设置为*(从任何地方加载图像),但Chrome仍会阻止某些图像加载......

  

拒绝加载图片   '数据:图像/ WEBP; BASE64,UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA =='   因为它违反了以下内容安全策略指令:   “img-src *”。 lg @   ?JS库=地方,几何&安培; V = 3及回调= async_req_1 :84(匿名   功能)@   ?JS库=地方,几何&安培; V = 3及回调= async_req_1 :119google.maps.Load   @   ?JS库=地方,几何&安培; V = 3及回调= async_req_1 :21(匿名   功能)@   ?JS库=地方,几何&安培; V = 3及回调= async_req_1 :118(匿名   功能)@   ?JS库=地方,几何&安培; V = 3及回调= async_req_1 :119

如果我在指令中包含'data:',则控制台中不会显示错误。

img-src * data:;

但是,这不是一个有效的指令。是否有一个img-src有效的CSP值可以满足Chrome或者这可能是一个Chrome错误?我无法在可访问的错误列表中找到任何直接匹配。我猜测这可能与SVG文件中嵌入的图像有关。 Firefox和Safari不会出现这种行为。

1 个答案:

答案 0 :(得分:8)

content-security-policy.com错了。见w3.org/TR/CSP2/#source-list-guid-matching

  

如上所述,引用特定部分的特殊URL方案   独特内容,例如“data:”,“blob:”和“filesystem:”   排除匹配*的政策,必须明确列出。

*也不包括'unsafe-inline'或'unsafe-eval'。