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