HTTP Strict Transport Security

它的作用是,对某些站点,当用户在浏览器输入不带协议的网址的时候,自动识别协议为https,而不是http。

例如用户输入paypal.com,浏览器会自动访问https://paypal.com,而不是http://paypal.com。当然,即使你的浏览器不支持HSTS,paypal也会自动跳转到https。

那么如何让自己的站点支持HSTS呢?只要在自己的站点的HTTPS响应的HTTP头里,加上下面这行即可

Strict-Transport-Security: max-age=16070400; includeSubDomains

当浏览器看到这个HTTP头,则会把当前站点加入HSTS列表。max-age和includeSubDomains的作用你们懂的。

根据Chrome的说明,当前支持HSTS的有Chrome和Firefox(版本>=4),我并没有去测试。

另外,Chrome自带一个默认的HSTS列表,paypal.com、lastpass.com、market.android.com等网站都列在里面。当前(Chrome16)这个列表是硬编码在Chrome的源代码(http://src.chromium.org/viewvc/chrome/trunk/src/net/base/transport_security_state.cc?view=log)里的。将来可能会把这个列表类似safe-browsing那样让不同的浏览器共享。

如果你想把自己的站点添加进Chrome的这个列表里,可以电邮

其实,大部分对安全有要求的站点,都会在服务器端自动识别协议,强制跳转到https。对这些站点来说,HSTS的作用只是让你少了一次HTTP请求而已。而在某些情况下,由于Set-Cookie、浏览器版本以及安全设置的因素,导致这个HTTP会发送HTTPS下所设置的cookie,存在安全隐患。除此之外,HSTS似乎没什么作用了。

另外我看了一下,alipay是没有发送Strict-Transport-Security头的。而paypal和lastpass都发送了这个头。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值