相关疑难解决方法(0)

内容安全策略如何运作?

我在开发者控制台中遇到了一堆错误:

拒绝评估字符串

拒绝执行内联脚本,因为它违反了以下内容安全策略指令

拒绝加载脚本

拒绝加载样式表

这是怎么回事?内容安全策略如何运作?我如何使用Content-Security-PolicyHTTP标头?

具体来说,如何......

  1. ......允许多个来源?
  2. ......使用不同的指令?
  3. ...使用多个指令?
  4. ......处理端口?
  5. ...处理不同的协议?
  6. ......允许file://协议?
  7. ...使用内联样式,脚本和标签<style><script>
  8. ......允许eval()

最后:

  1. 究竟是什么'self'意思?

html javascript security http-headers content-security-policy

218
推荐指数
2
解决办法
16万
查看次数

内容安全政策"数据"不适用于Chrome中的base64图像28

在这个简单的例子中,我正在尝试使用元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

content-security-policy

213
推荐指数
1
解决办法
7万
查看次数