【问题标题】:Getting an ActiveX warning when I load a page via HTTP that has an HTTPS remote javascript included当我通过包含 HTTPS 远程 JavaScript 的 HTTP 加载页面时收到 ActiveX 警告
【发布时间】:2011-08-22 21:03:29
【问题描述】:

所以基本上我有一个通过 http 加载的基本页面。

在这个应用程序中,我想包含一个远程托管的 JS 文件。目前,当我加载页面时,我总是有关于安全的活动 X 警告。我几乎尝试了所有可能的方法来包含 Javascript 文件(jquery.getScript,以编程方式创建节点,转义字符和所有这些东西)。

JS 文件本身位于 HTTPS 上的域上,但证书无效(显然指向其他地方)。 (这是我们的 QA 服务器)。我无权访问服务器,因此无法修改服务器端的任何内容。

如果我点击警告并选择“显示被阻止的内容”,JS 文件仍未加载。

警告栏本身显示:

为帮助保护您的安全,Internet Explorer 已阻止此 网站显示带有安全证书错误的内容。点击 这里有选项...

选项是:

  • 显示被屏蔽的内容
  • 有什么风险?
  • 信息栏帮助

如果我转到 javascript 文件本身,我会收到以下警告:

本网站的安全证书有问题。

 The security certificate presented by this website was issued for

另一个网站的地址。

安全证书问题可能表明试图欺骗您或 拦截您发送到服务器的任何数据。我们建议您 关闭此网页,不要继续访问此网站。点击这里 关闭此网页。继续访问此网站(不推荐)。

有没有办法解决?

【问题讨论】:

  • 如果 JS 文件是静态的(不是动态生成的),您可以通过保留本地副本来绕过问题,无需从远程(“坏”)服务器获取它。
  • @SLaks 我已经用更多细节编辑了这个问题
  • @Marc-B 我需要进行远程调用,因为 JS 基本上将一些 CC 信息标记为 PCI 合规性
  • 您可以告诉 IE 信任证书。直接在地址栏中加载 JS 文件的 URl,然后在加载页面时进行覆盖。这应该使该浏览器安装的覆盖永久化,并让您的常规页面正常工作。
  • @Marc-B 感谢您的回答,不幸的是它似乎不起作用。如果我单击“继续访问此网站(不推荐)”。它提示我下载 JS 文件,但是当我回到页面时,我遇到了同样的问题。

标签: javascript html ssl https


【解决方案1】:

此消息:“此网站提供的安全证书是为其他网站的地址颁发的”表示您用于访问该网站的 URL/主机名不是 URL/站点具有证书的主机名。如果您在启用 HTTPS 解密的情况下运行 Fiddler (www.fiddler2.com),您将收到一个弹出警报,更清楚地解释这种不匹配(具体来说,通过向您显示服务器 期望您的主机名正在使用)。然后,您可以更正您的标记以使用正确的主机名引用该站点,这将更正证书错误并使问题消失。

【讨论】:

    猜你喜欢
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2014-01-09
    • 2015-03-27
    • 2014-07-31
    • 2013-03-13
    • 1970-01-01
    相关资源
    最近更新 更多