要了解csp. 得先知道这个玩意究竟是为了防范什么的. 首先csp的策略xss. 跨站脚本攻击. 这个也是网页危害最大, 最常见的网页安全漏洞. 而csp则是规定网页可以加载和执行哪些脚本和样式.
使用方式
首先. csp的使用方式分为两种. 一种通过header请求头输出. 大致如下
1 | Content-Security-Policy: .... |
另外一种方式则是通过meta标签来进行. 如下.
1 | <meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; child-src https:"> |
能限制什么
首先. csp可以限制js、image、css、web font,ajax 请求,iframe,多媒体等. 大致的支持的可以看一这里.
chrome的csp
chrome在25的时候就引入了csp策略. 在插件3版本的时候按照如下来使用
1 | { |
这里的csp是严格版本. 只能支持如下的声明.
1 | script-src: self|none|Anyurl |
其中,值的解释如下
1 | self 允许来自相同来源的内(相同的协议.域名和端口) |
csp限制策略
在chrome直接按照如下的方式进行使用
1 | "content_security_policy": { |
则允许加载本站的脚本, 禁止加载其他内容. 如果将script-src设置为none.则无法加载js.
最后
请妥善使用csp. 防止自己的内容无法加载. 源代码