http-security-headers-a-complete-guide

一些提高网站安全性的重要 header:

  1. Content-Security-Policy 这个 header 太复杂了,有个专门的官网介绍它,降低跨域攻击的危险。 CSP 可以指定来自哪些域名的资源可以被载入。

  2. Strict-Transport-Security 只应该通过 https 访问——这年头连 https 都没有真的难说自己安全。
  3. X-Content-Type-Options 确保浏览器按照设置的 MIME 类型来处理网页的资源类型。
  4. Cache-Control 包含敏感数据的页面都应该设置成 no-cache。
  5. Expires 如果 Cache-Control 里面已经设置了 max-age,这个 header 会被忽略。
  6. X-Frame-Options 是否允许在 iFrame1 中展示——假如随便允许网页在 iFrame 中展示的话,可能会被录屏再跨域攻击(比如某个登录页面全是选框,我把这个页面嵌入到我伪装的网站,记录你鼠标的操作,然后我就可以获取你的登录信息了——当然键盘输入估计也是可以的)。
  7. Access-Control-Allow-Origin 设定允许向某个页面发跨域请求。
  8. Set-Cookie 主要是要加 SecureHttpOnly
  9. X-XSS-Protection,对应的值看 MDN 文档好了

脚注

  1. 啥是 iFrame,简单来说就是「页面嵌套页面」——感谢我的同事阿辉和阿新(假如这个理解有问题的话,请找他们算账)。