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

听说 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 上的文章,如有需要可供参考

标签: Discuz


已有 2 条评论
  1. 之前在mantis上见过CSP这玩意= =感觉限制好严(貌似引用外部CDN的公共库资源也给拦截了。。。),就把PHP中追加CSP的header给取了,回头自己再去研究下这个限制是怎么自定义的= =

  2. 不明觉厉=.=

添加新评论