gpt4 book ai didi

php - 当用户更改其系统日期时,由于 SSL 证书无效,JS 无法正常工作

转载 作者:搜寻专家 更新时间:2023-10-31 21:15:48 24 4
gpt4 key购买 nike

当用户登录到我的网站时,我将他重定向到 https://URL。 ( https://www.gruppenunterkuenfte.de/anbieter-bereich.html?next=/#einloggen )

如果用户在他的机器上设置了错误的日期(过去一年),证书将被视为无效,因为它是从 2012 年 1 月 3 日开始颁发的。

有了这个无效的证书,Safari 和 Chrome 就会接缝阻止从外部源加载的脚本。 (例如:https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js),导致无法登录。

现在我的问题是,什么是解决这个问题的好方法?

  1. 在 JS 代码中发送服务器日期,并将其与 JS 与用户当前时间进行比较。如果相差超过 24 小时,则向用户显示警告以正确设置他的日期。但这对用户来说可能很烦人……而且他们可能没有更改它的权限。
  2. 不要从外部域加载 JS 文件。那么证书仍然无效,但页面可以正常工作。但是,出于性能原因,我更喜欢从 ajax.googleapis.com 加载脚本。
  3. 能否获得一个证书,该证书在用户设置的任何日期都有效?
  4. 还有其他我没有想到的解决方案吗?

最佳答案

我想如果您真的愿意,您可以执行 #1(HTTPS 之前),但正如 dirkbonhomme 所指出的,这可能不值得付出努力。

至于剩下的....别做!

对于#2,如果他们加载了一个带有无效证书的页面,那么为了安全起见,所有的赌注都会落空。为什么要费心加密呢?此外,您正在训练您的用户点击安全警告,这会降低整体 Internet 安全性。人们已经方式太愿意盲目接受弹出窗口告诉他们的内容。然后,此行为会促进安全妥协、恶意软件传播等。

对于#3,不,据我所知不是。你不会想要这个。过期证书的概念对于证书签名系统的完整性很重要。由于大多数人不更新他们的 CRL(令人费解的是,大多数浏览器似乎不会自动执行此操作),因此检查证书过期是防止证书可能被盗或以其他方式泄露的最后一道防线。它为此类证书在野外保持活跃的时间设定了上限。

对于#4...正确的解决方案是让用户修理他们损坏的机器。很多方案都依赖于准确的时间,用户应该知道如果时间没有正确更新,事情就会崩溃。如果这对您的用户群来说是一个反复出现的问题,也许可以向他们介绍一个叫做 NTP 的小东西。 .

关于php - 当用户更改其系统日期时,由于 SSL 证书无效,JS 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9094330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com