页面抛出 TLS 错误而不是加载

Page throws TLS error instead of loading

我已经研究了这个 wazoo 但无济于事。我有一个内部页面需要 TLS 1.1 或 1.2。如果它们未打开,您会收到错误消息:

This page can’t be displayed

Turn on TLS 1.0, TLS 1.1, and TLS 1.2 in Advanced settings and try connecting to https://SITEADDRESS again. If this error persists, it is possible that this site uses an unsupported protocol or cipher suite such as RC4 (link for the details), which is not considered secure. Please contact your site administrator.

显然,解决方法是在 IE 中打开这些密码套件。然而,我想放入页面的是一个检查,从网站预加载一些东西,确保它是 visible/readable/loadable/whatever,然后允许用户向前移动,或者,如果我检查的是什么不能rendered/read/etc,将他们引导到别处。

所以我尝试的是对相同地址PHP file_get_contents

<?php
$contents = file_get_contents('https://SITEADDRESS');
echo "<pre>";
var_dump($contents);
echo "</pre>";
?>

然而,它最终能够拉取页面代码并将其转储出来?!?!?这意味着它可以访问该页面,但是,我知道它不能,因为我在尝试正常加载它时遇到 TLS 错误。

问题是,在将用户转发到可能无法呈现的页面之前,如何使用 TLS 预先检查 URL 作为考虑因素?

您似乎在混合使用服务器端和客户端。

假设PHP是运行服务器端,肯定不会受到影响IE 的(我 假设 是 运行 客户端)密码选择。

如果这没有意义,请告诉我,我会给出进一步的解释...

如果我理解正确,您需要在 client (IE) 上使用自己的逻辑 运行 来检测 client(IE)可以达到URL.

您可以尝试通过 Javascript 触发异步请求(例如 https://api.jquery.com/jquery.get/

YMMV,我不确定 IE 是否会将 TLS 错误传递到您的 Javascript 代码中。假设是这样,您至少应该能够处理任何错误事件(由 Javascript HTTP 请求引起)并假设客户端不应尝试继续。

正在头部加载此文件...

<script type="text/javascript" src="https://SITEADDRESS/api/start_session.js"></script>

然后检查变量 BG 是否存在,其中 BG 是加载文件中的一个变量。如果 BG 未定义(不存在),则某些东西阻止了对外部域的访问,因此 show/hide DIV 是适当的,因此用户永远不会被发送到错误的站点!

window.onload = function() {
    if (typeof BG !== 'undefined') {
        document.getElementById('test1').style.display = 'block'; 
        document.getElementById('test2').style.display = 'none'; 
    } else {
        document.getElementById('test1').style.display = 'none'; 
        document.getElementById('test2').style.display = 'block'; 
    }
};