要理解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. 避免本人的内容无奈加载. 源代码