要理解csp. 得先晓得这个玩意到底是为了防备什么的. 首先csp的策略xss. 跨站脚本攻打. 这个也是网页危害最大, 最常见的网页安全漏洞. 而csp则是规定网页能够加载和执行哪些脚本和款式.
应用形式
首先. csp的应用形式分为两种. 一种通过header申请头输入. 大抵如下
Content-Security-Policy: ....
另外一种形式则是通过meta标签来进行. 如下.
<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版本的时候依照如下来应用
{ // 内容限度策略 csp "content_security_policy": {...}, // csp内容策略 embedder "cross_origin_embedder_policy": {"value": "require-corp"}, // csp关上策略 "cross_origin_opener_policy": {"value": "same-origin"},}
这里的csp是严格版本. 只能反对如下的申明.
script-src: self|none|Anyurlobject-src: self|none|Anyurlworker-src: self|none|Anyurl
其中,值的解释如下
self 容许来自雷同起源的内(雷同的协定.域名和端口)none 不容许任何内容anyurl 容许加载指定域名下的内容
csp限度策略
在chrome间接依照如下的形式进行应用
"content_security_policy": { "extension_pages": "script-src 'self';object-src 'none'"}
则容许加载本站的脚本, 禁止加载其余内容. 如果将script-src设置为none.则无奈加载js.
最初
请妥善应用csp. 避免本人的内容无奈加载. 源代码