HTTPStrict-Transport-Security头缺失或不安全的问题处理

作者:动易软件 来源:本站原创 点击数: 发布时间:2019年12月02日

问题:安全软件扫描提示HTTP Strict-Transport-Security 头缺失或不安全的问题如何处理?

 

问题分析:

在网站全站HTTPS后,如果用户手动敲入网站的HTTP地址,或者从其它地方点击了网站的HTTP链接,通常依赖于服务端301/302跳转才能使用HTTPS服务。而第一次的HTTP请求就有可能被劫持,导致请求无法到达服务器,从而构成HTTPS降级劫持。这个问题目前可以通过HSTS(HTTP Strict Transport Security,RFC6797)来解决。

处理办法:

添加Strict-Transport-Security:max-age=31536000; includeSubDomains的响应头,如下图:

说明:

HSTS响应头格式

Strict-Transport-Security: max-age=expireTime [; includeSubDomains] [; preload]

max-age,单位是秒,用来告诉浏览器在指定时间内,这个网站必须通过HTTPS协议来访问。也就是对于这个网站的HTTP地址,浏览器需要先在本地替换为HTTPS之后再发送请求。

includeSubDomains,可选参数,如果指定这个参数,表明这个网站所有子域名也必须通过HTTPS协议来访问。

preload,可选参数,一个浏览器内置的使用HTTPS的域名列表。