在这个简单的例子中,我正在尝试使用元http-equiv头设置CSP头.我添加了base64图像,我正在尝试让Chrome加载图像.
我认为data
关键字应该这样做,但不知怎的,它不起作用.
我在开发人员工具中遇到以下错误:
拒绝加载图像'data:image/png; base64,R0lGODlhDwAPAOZEAMkJCfAwMMYGBtZMTP75 + euIiPFBP + hVVf3v7 ... nw7yk4Mjr6GLUY + joiBI2QAACABwJDCHgoKOHEoAYVBAgY8GGAxAoNGAmiwMHBCgccKDAKBAA7',因为它违反了以下内容安全策略指令:"img-src'self'data".
示例代码(JSFiddle不适用于此示例,因为我无法在其中设置元标题):
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="
default-src 'none';
style-src 'self' 'unsafe-inline';
img-src 'self' data;
" />
<style>
#helloCSP {
width: 50px;
height: 50px;
background: url(data:image/png;base64,R0lGODlhDwAPAOZEAMkJCfAwMMYGBtZMTP75+euIiPFBP+hVVf3v7+iHh/JNTfh9dNUYGPjTvskXFfOLi/daVe96es4eHPWIiOqbi9dNRvzWwexdV9U1NeFSS94iIvuxodVGP/ZsZM8jI+ibm/alluQzMdxSSvbGstwsKu2Yid4iIfjQu/JnYO6djvajlMQEBPvLuOJdXeMxL/3jzPBSTdwqKNY2Mf3i4vU5OfbPz/3f3/zUv/zizO0tLc0NDfMzM+UlJekpKeEhId0dHdUVFdkZGdEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEQALAAAAAAPAA8AAAepgESCRBsLEDQQCxuDgxYdO5CROx0WgywGAQEKM0M2CpkGN0QvMDmmE0OpE6Y5KEQqPbE9D6lDD7I9IBc8vDwRtRG9PBcuPsY+B7UHxz4hP8/PGghDCBrQPyYxQdvbBUMF3NskGUDl5QwtDOblGSVC7+8JNQnw7yk4Mjr6GLUY+joiBI2QAACABwJDCHgoKOHEoAYVBAgY8GGAxAoNGAmiwMHBCgccKDAKBAA7) no-repeat;
border: 1px solid red;
}
</style>
</head>
<body>
<h1>CSP</h1>
<div id="helloCSP"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您也可以在此处打开此示例:https:
//dl.dropboxusercontent.com/u/638360/ps/csp.html
我收到以下 CSP 报告
{
"csp-report":{
"document-uri":"https://example.com/somepage",
"blocked-uri":"blob",
"violated-directive":"script-src 'unsafe-inline' 'unsafe-eval' https: data:",
"effective-directive":"script-src",
"original-policy": myCSPPolicyRuleHere,
"status-code":200
}
}
Run Code Online (Sandbox Code Playgroud)
我无法在各种浏览器上重现此错误。该报告来自我们拥有的各种页面。(我们的主页、论坛、静态登陆页面)
它可能是一种扩展(哪个?)。
(非常有用)项目“CSP-usefull”收集了很多 WTF CSP 报告。但我可以在那里找到有关“blob”的任何信息。 https://github.com/nico3333fr/CSP-useful/tree/master/csp-wtf
(我知道我们的 CSP-Rule 非常宽松。但这只是我们现场部署的第一次迭代)