HTTP header 安全配置

现代浏览器提供了一些安全相关的响应头,使用这些响应头一般只需要修改服务器配置即可,不需要修改程序代码,成本很低。

安全方面的 HTTP Header

防御 XSS (Cross Site Scripting):

  • Content-Security-Policy
  • Set-Cookie: HttpOnly
  • X-XSS-Protection
  • X-Download-Options

Nginx在nginx.conf的server段中加入:

add_header X-XSS-Protection “1; mode=block”;

在Nginx.conf的server段加入:

add_header Content-Security-Policy: script-src 'self' https://apis.google.com

防御 Clickjacking:

  • X-Frame-Options

add_header X-Frame-Options: DENY

Nginx中编辑nginx.conf ,在server段加入:

add_header X-Frame-Options “SAMEORIGIN”;

强化 HTTPS机制:

  • Set-Cookie: Secure
  • Strict-Transport-Security

在Nginx.conf的server段加入:

add_header Strict-Transport-Security “max-age=31536000; includeSubdomains;”;

避免浏览器误判文件形式:

  • X-Content-Type-Options

在Nginx.conf的server段加入:

add_header X-Content-Type-Options nosniff;

保证网站资源被任意存取:

  • Access-Control-Allow-Origin(此 header 若設定錯誤會適得其反!)
  • X-Permitted-Cross-Domain-Policies

add_header ccess-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Origin: *

Cookie保护

  • HttpOnly,会阻止XSS攻击将你的用户cookie发给黑客
  • Secure,属性能让Cookie通过HTTPS连接,而不是HTTP,这样,能够访问你的网络的黑客无法读取未加密的Cookie。

add_header Set-Cookie: HttpOnly

add_header Set-Cookie: Secure

大爷,赏个铜板呗!