【发布时间】:2015-12-04 19:51:55
【问题描述】:
我的 webapp 有一个内容安全策略,将 img-src 设置为 *(从任何地方加载图像),但 Chrome 仍会阻止某些图像加载...
拒绝加载图片 '数据:图像/webp;base64,UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==' 因为它违反了以下内容安全政策指令: “img-src *”。 lg@ js?libraries=places,geometry&v=3&callback=async_req_1:84(匿名 功能) @ js?libraries=places,geometry&v=3&callback=async_req_1:119google.maps.Load @ js?libraries=places,geometry&v=3&callback=async_req_1:21(匿名 功能) @ js?libraries=places,geometry&v=3&callback=async_req_1:118(匿名 功能) @ js?libraries=places,geometry&v=3&callback=async_req_1:119
如果我在指令中包含“数据:”,则错误不会显示在控制台中。
img-src * 数据:;
但是,这不是一个有效的指令。是否有一个 img-src 有效的 CSP 值可以满足 Chrome 或者这可能是一个 Chrome 错误?我无法在可访问的错误列表中找到任何直接匹配项。我推测这可能与嵌入在 SVG 文件中的图像有关。 Firefox 和 Safari 不会出现这种行为。
【问题讨论】:
-
“无效”是什么意思?
-
根据content-security-policy.com:“多个源列表值可以用空格分隔,但 * 和 none 应该是唯一值。”这表明同时列出 '*' 和 'data:' 是无效的。
标签: google-chrome content-security-policy