什么是HTTP Strict Transport Security

HTTP Strict Transport Security,简称HSTS

  它的作用是,对某些站点,当用户在浏览器输入不带协议的网址的时候,自动识别协议为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都发送了这个头。

来源:http://www.surfchen.org/archives/784

加支付宝好友偷能量挖...


评论(0)网络
阅读(132)喜欢(0)操作系统及应用软件