有没有办法检查浏览器是否启用了 TLS?
我仅限于使用 HTML 和 Javascript。
在 Javascript 中,利用 ActiveX,并用于 IE7,
(function(){
var key = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\SecureProtocols";
var t = document.getElementById("detectREG_output");
var Shell = new ActiveXObject("WScript.Shell");
var value = Shell.RegRead(key);
t.innerHTML = value;
})();
这将输出一个位域,小数等于:
168 = SSL 3.0、SSL 2.0、TLS 1.0 已启用
160 = SSL 3.0,启用 TLS 1.0
40 = SSL 3.0,启用 SSL 2.0
8 = 启用 SSL 2.0
0 = 无启用
我能找到的唯一解决方案是配置 apache 以遵守一定的密码顺序:
SSLCipherSuite !aNULL:!eNULL:!EXPORT:!DSS:!DES:!SSLv2:RC4-SHA:RC4-MD5:ALL
SSLHonorCipherOrder on
例如。然后在 PHP 页面(在 https 后面)显示 $_ENV['SSL_PROTOCOL']。最后在 JS 中使用结果。