问题

有没有一种方法可以检测访问者是否信任SSL连接/证书?我真的在网上或stackoverflow上找不到任何东西。我认为这是一个非常不常见的问题。

用例

我正在使用StartSSL的证书。它适用于大多数常见和现代的浏览器。但是在使用IE的Windows Phone上,我收到警告。这是因为默认情况下,Windows Phone上的IE不知道根证书。

解决方案很简单:只需下载证书-单击两次即可。我想向普通访客提供有关如何执行此操作的小指南。但是,只有有问题的访客才能获得此消息。

最佳答案

如果访问者不信任您的证书,则通过HTTPS连接到您的站点的访问者根本不会进入您的站点。添加异常后,您将无法确定是否通常信任该异常或异常。

也许您可以尝试构建用户代理列表,并猜测它们的默认CA应该是什么,以便在这种情况下能够显示其他消息。这不是一个完美的规则(因为您永远无法完全控制客户端信任的内容,这是用户/管理员的责任),并且具有特定于用户代理的内容的缺点;特别是,它不一定可靠,您将没有完整的数据库,并且已经添加了异常或永久导入证书的用户将看到此附加消息(除非您使用cookie之类的东西来记住)。

如果您的初始页面是通过纯HTTP进行的,则您可以尝试对HTTPS站点进行XHR请求,并报告该请求是否有效。 (您可能需要考虑相同来源策略。)

关于ssl - 在服务器端检测到不受信任的SSL访问?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12535823/

10-12 02:21