Https 在重定向之前检查是否可以建立安全连接

Https 在重定向之前检查是否可以建立安全连接,https,Https,可能是一个与其他人类似的问题,但到目前为止,我找不到任何答案 情境:一个用户在我的网站上。我将把他重定向到我的另一个网站: 在重定向发生之前,我想检查客户端是否能够成功地建立安全连接。(重定向过程中的服务器端,或者重定向之前的AJAX请求,或者任何服务于此目的的东西) 这有可能吗?怎么做?如果浏览器无法安全地连接到它,则不会选择如何操作? 您总是可以发出AJAX请求,但它的成功或失败并不能说明真正请求的成功与否。(因为它是跨域的,所以您必须添加CORS头) 但是您当前的配置在设计上是不安全的:因

可能是一个与其他人类似的问题,但到目前为止,我找不到任何答案

情境:一个用户在我的网站上。我将把他重定向到我的另一个网站:

在重定向发生之前,我想检查客户端是否能够成功地建立安全连接。(重定向过程中的服务器端,或者重定向之前的AJAX请求,或者任何服务于此目的的东西)


这有可能吗?怎么做?如果浏览器无法安全地连接到它,则不会选择如何操作?

您总是可以发出AJAX请求,但它的成功或失败并不能说明真正请求的成功与否。(因为它是跨域的,所以您必须添加CORS头)

但是您当前的配置在设计上是不安全的:因为您的第一个页面使用http,攻击者可以用他想要的任何东西替换您到安全页面的链接

如果您将https添加到第一个页面,则您无需执行其他操作,浏览器将为您执行所有安全检查

您也应该研究HST,以提高安全性


如有可能,要重定向到https,请在http网页的开头包含一个带有https url的javascript文件,其中包含对https网站的重定向:仅当用户支持https时,才会重定向用户。(您也可以将HST与该方法结合使用)

尝试以下方法:

   if(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off"){
  $redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
标题(“HTTP/1.1 301永久移动”); 标题('位置:'。$redirect)


}

谢谢你的想法,但这不是我的问题。我的问题是检查浏览器是否可以建立安全连接。由于某种原因,我遇到了早期浏览器版本无法建立https连接的问题,我希望能够设置一个“回退”。如果无法建立安全连接,我想将它们重定向到另一个页面,而不是向用户显示浏览器生成的错误消息。此时没有发送机密数据(实际上根本没有用户特定的数据)。@koljanep我已经添加了关于如何重定向到https(如果可能)的解释。你需要更多的细节吗?谢谢,但这不是我问题的答案。