【问题标题】:How do I determine whether a page is secure via JavaScript? [duplicate]如何通过 JavaScript 确定页面是否安全? [复制]
【发布时间】:2010-09-29 17:05:34
【问题描述】:

我想知道该页面是使用 JavaScript 通过 http 还是 https 访问的。是否有某种 isSecure() 方法,或者我应该以某种方式从 URL 中解析出来?

【问题讨论】:

    标签: javascript https


    【解决方案1】:

    location.protocol 应该为你做。

    (如:

    if (location.protocol === 'https:') {
        // page is secure
    }
    

    )

    【讨论】:

    • 这似乎覆盖了主页,所有额外的负载(谷歌分析、广告、外部图片、javascript等)呢?
    • 不要依赖这个!作为演示访问macinn.es 并消除有关该站点不安全的任何警告,然后打开控制台并运行location.protocol。即使浏览器刚刚告诉您它不安全,它也会返回“https:”。
    • @NathanMacInnes OP 可能希望他的服务器中的某些脚本在客户端浏览器中运行,前提是连接是 https。当你说“不要依赖这个”时,它并没有给你太多的可信度,然后又没有提出更好的方法。我非常希望堆栈上的人们不要发布所有这些类型的 cmets。没用。
    • @user3635998,“不要依赖这个”对我来说有点夸张,但它仍然是一个有效的警告。
    【解决方案2】:

    你应该可以检查document.location.protocol看看它是“http:”还是“https:”

    【讨论】:

      【解决方案3】:

      虽然 location.protocol 应该像 Peter Stone 提到的那样为你做这件事,但你不应该依赖 Javascript 来获得任何真正的安全性等。

      如果您使用 SSL,我认为 location.protocol 的值为“https:”。

      【讨论】:

      • 是的,如果您需要 SSL 以确保安全,请检查服务器端(如果使用 SSL,Apache 会设置 HTTPS 环境变量)。如果您只需要知道它是哪一个(即使用安全的 Google Analytics 来避免“部分安全”警告),就可以了。
      • 我只需要知道它是什么以避免“IE 中的非安全元素警告”。在我们下一次发布之前,这是一种权宜之计。
      猜你喜欢
      • 2010-09-13
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多