Google chrome 带有CSP img src*的Chrome仍然阻止图像
我的webapp有一个内容安全策略,将img src设置为*(从任何地方加载图像),但Chrome仍然阻止加载某些图像 拒绝加载图像 '数据:图像/webp;base64,UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==' 因为它违反了以下内容安全策略指令: “img src*”。lg@ js?libraries=places,geometry&v=3&callback=异步请求1:84(匿名) 功能)@ js?libraries=places,geometry&v=3&callback=异步请求1:119google.maps.Load @ js?libraries=places,geometry&v=3&callback=异步请求1:21(匿名) 功能)@ js?libraries=places,geometry&v=3&callback=异步请求1:118(匿名) 功能)@ js?libraries=places,geometry&v=3&callback=异步请求1:119 如果我在指令中包含“data:”,则该错误不会显示在控制台中 img src*数据:Google chrome 带有CSP img src*的Chrome仍然阻止图像,google-chrome,content-security-policy,Google Chrome,Content Security Policy,我的webapp有一个内容安全策略,将img src设置为*(从任何地方加载图像),但Chrome仍然阻止加载某些图像 拒绝加载图像 '数据:图像/webp;base64,UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==' 因为它违反了以下内容安全策略指令: “img src*”。lg@ js?libraries=places,geometry&v=3&callback=异步请求1:84(匿名) 功能)@ js?libraries=places,g
然而,这不是一个有效的指令。是否有一个img src有效CSP值可以满足Chrome的要求,或者这可能是一个Chrome错误?我无法在可访问的bug列表中找到任何直接匹配项。我推测这可能与SVG文件中嵌入的图像有关。Firefox和Safari没有表现出这种行为。content-security-policy.com是错误的。看 如上所述,特殊的URL方案引用特定的片段 唯一的内容,如“数据:”、“blob:”和“文件系统:”是 从匹配*的策略中排除,并且必须显式列出
*也不包括“unsafe inline”或“unsafe eval”。您所说的“invalid”是什么意思?“多个源列表值可以用空格分隔,但*和none除外,这应该是唯一的值。”这表明同时列出“*”和“data:”将是无效的。太好了,规范规则!我将向CSP添加“img src:*数据:”。(顺序重要吗?)我正在部署到桌面和移动浏览器(有些带有嵌入式网络视图)。我会重新测试,但我记得其中一个平台,可能是一个较旧的Android,拒绝了这种格式。我想知道规范是否在这方面有所发展,也许一些较旧的浏览器反映了较旧的标准。如果我能找到例子,我会回到这条线索上来。谢谢你的回答,oreoshake!不,顺序不重要。旧的android浏览器(使用x-webkit-csp时)有各种各样的问题。我还没有看到任何内容安全策略(但这并不意味着它们不存在)。你走这条路真是太好了,不要放弃!我是来帮忙的(@ndm和@seeesspee在twitter上)。