终极防跨站策略 Content-Security-Policy

MoeQike
MoeQike 2015年06月02日
  • 在其它设备中阅读本文章

听说 Discuz 又爆跨站漏洞了,唉……
不得不让我想起了 Content-Security-Policy 这一大神器

最早接触 Content-Security-Policy 还是在开发 Chrome 扩展程序的时候
Chrome 的安全性众所周知,开发的时候也遇到了各种坑,其中一个就是 Content-Security-Policy,不支持 HTML5 Import 标签就是这货导致的,于是 Polymer 被我搁置了

Content-Security-Policy 可以保护网页,要求所引用资源必须来自指定的几个域,也可以要求禁用一些常用的、容易被 XSS 的特性
比如 Chrome Extensions 中就禁用了上下文的 Script 代码,所有 JavaScript 必须来源自 js 文件,不允许直接通过 script 标签运行

针对网络留言版、社区等网站,还允许禁用 html 标签的 onclick、onmouse*** 等在 html 中定义 js 事件,就算有 XSS 漏洞你也无能为力了 = =
PS:其实这样挺好的,当年 Flash 在 ActionScript 2.0 就是这种方式,在 ActionScript 3.0 已经全部换成监听器的设计了,这样看起代码来也清晰多了

如果你对 CSP 有兴趣,这里 是一篇在 HTML5Rocks 上的文章,如有需要可供参考

转自 KK 的博客