HTTP安全标头是网站安全的基本组成部分。在超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。HTTP安全标头实施后,可防止XSS,代码注入,clickjacking等。
当用户通过客户端浏览器访问站点时,服务器使用HTTP响应头进行响应。
站长可使用这些标头进行通信并提高Web安全性。下面介绍的五个安全头,它们将为您的网站提供一些急需的保护。
1、HTTP严格传输安全(HSTS)
如一个名为idcbest.com的网站,并且已安装SSL / TLS证书,从HTTP迁移到HTTPS。但很多HTTPS网站,也可以通过HTTP来访问。开发人员的失误或者用户主动输入地址,都有可能导致用户以HTTP访问网站,降低了安全性。
此时,可通过HSTS解决问题,让浏览器默认HTTPS跳转,省去一次HTTP请求。另外,浏览器本地替换可以保证只会发送HTTPS请求,避免被劫持。
要使用HSTS,只需要在HTTPS网站响应头中,加入代码
- Strict-Transport-Security:max-age = <expire-time>
或
- Strict-Transport-Security:max-age = <expire-time>; includeSubDomains
或
- Strict-Transport-Security:max-age = <expire-time>; preload
2、内容安全策略(CSP)
HTTP内容安全策略响应标头通过赋予网站管理员权限,管理网站允许加载的内容。换句话说,用户可以将网站的内容来源列入白名单。
内容安全策略可防止跨站点脚本和其他代码注入攻击。虽然不能完全消除攻击的可能性,但它确实可以将损害降至最低。目前大多数主流浏览器都支持CSP,因此兼容性不成问题。
代码:
- Content-Security-Policy: <policy-directive>; <policy-directive>
3、跨站点脚本保护(X-XSS)
X-XSS头部可以防止跨站脚本攻击。Chrome,IE和Safari默认启用XSS过滤器。此筛选器在检测到跨站点脚本攻击时不会让页面加载。
代码:
- X-XSS-Protection: 0
- X-XSS-Protection: 1
- X-XSS-Protection: 1; mode=block
- X-XSS-Protection: 1; report=<reporting-uri>
4、X-Frame-Options
在Orkut时代,一种名为“点击劫持”的欺骗技术非常流行。在这种技术中,攻击者愚弄用户点击不在那里的东西。X-Frame-Options,是为了减少点击劫持(Clickjacking)而引入的一个响应头。这是通过禁用网站上存在的iframe来完成的。换句话说,它不会让别人嵌入网站的内容。
句法:
- X-Frame-Options:DENY
- X-Frame-Options:SAMEORIGIN
- X-Frame-Options:ALLOW-FROM https://idcbest.com/
5、X-Content-Type-Options
互联网上的资源有各种类型,通常浏览器会根据响应头的Content-Type字段来分辨它们的类型。例如:”text/html”代表html文档,”image/png”是PNG图片,”text/css”是CSS样式文档。然而,有些资源的Content-Type是错的或者未定义。这时,某些浏览器会启用MIME-sniffing来猜测该资源的类型,解析内容并执行。
X-Content-Type标头提供了针对MIME嗅探的对策。它指示浏览器遵循标题中指示的MIME类型。作为发现资产文件格式的功能,MIME嗅探也可用于执行跨站点脚本攻击。
代码:
- X-Content-Type-Options:nosniff