本站实验:Content Security Policy 2 (内容安全策略版本2)

为了减少很大一部分潜在的跨站脚本问题,浏览器的扩展程序系统引入了内容安全策略(CSP),并且已经有了 W3C 的标准化。
这将引入一些极严格的策略,会使引入的网站内容在默认情况下更安全,站长可以创建并强制应用一些规则,管理网站允许加载的内容。

在6月18日以前,本站使用的是第一版 CSP ,而且只使用了 upgrade-insecure-requests 一个值,用于解决一个历史遗留问题——本站迁移到 Ghost 时曾经使用了 Cloudinary 的图像存储和处理服务,但是默认转换为 HTTP URL ,我只能用这个 CSP 选项强制图片链接使用 HTTPS。
现在本站引入了第二版 CSP,详细制定了各项内容的引入白名单。目前较为简陋,希望未来能够加以完善。

更新 2016-08-15:

  • 脚本增加 blob: 协议
  • 图片、字体增加 data: 协议
Content-Security-Policy: default-src 'none'; script-src 'unsafe-inline' 'unsafe-eval' https: blob:; img-src data: https:; style-src 'unsafe-inline' https:; font-src 'unsafe-inline' https: data:; child-src https:; connect-src
'self' wss: https:; frame-src 'self' https://disqus.com