DIY检查浏览器对TSL1.1协议的支持?

时间:2017-03-01 20:01:52

标签: encryption browser feature-detection

我将在我的网站上加入GestPay付款。它有一些browser requirements

  

买方的浏览器必须支持TSL1.1协议或最新的

如何以编程方式检查访问我网站的浏览器是否达到要求?

this answer中,建议使用外部服务(ssllabs.com,howsmyssl.com),但我想要一个自托管解决方案,没有外部依赖,主要原因是安全问题。

this article salesforce.com中使用Chrome开发工具公开test page,我尝试禁用javascript,测试也是如此。所以我想这是服务器端......

更新

理想情况下,我想允许浏览器即使没有TSL1.1支持,然后检测浏览器是否支持TSL1.1,如果不支持,我将不会显示GestPay支付功能。

1 个答案:

答案 0 :(得分:0)

经过一段时间的研究,这就是我所理解的:

在这个caniuse表中是listet browsers not supporting tls1.1

当浏览器询问https页面时,它会发送支持的加密协议列表,服务器会选择最佳的协议。

如果服务器不允许协议小于TLS1.1,则浏览器根本不会看到该页面,例如这是IE9的行为: IE9 behavior for un

javascript中,无法访问https证书信息。

无法对此进行特征检测。

HTTP Headers PHP $_SERVER信息不可用,opensource HowsMySsl server超全球。

所以你可以自己运行user-agent sniffing is bad(但对我来说太过分了)

所以也许我会使用用户代理嗅探来确定浏览器是否不支持TLS1.1,即使running

我希望这会帮助其他人!