【问题标题】:Add a HTTP link to SSL HTTPS page without causing Mixed-Content "Not Secure" error将 HTTP 链接添加到 SSL HTTPS 页面而不会导致混合内容“不安全”错误
【发布时间】:2020-04-08 04:36:40
【问题描述】:

如何在此页面上添加不安全的 HTTP 链接而不会导致“不安全”错误?

  • 我有一个使用 SSL HTTPS 的安全网页。
  • 此网页是一个仪表板,包含 100 多个按钮,所有按钮都包含外部网站的链接。
  • 很遗憾,并非所有这些网站都支持 HTTPS ...2020 年很常见!

有没有办法在保持站点锁定的同时解决这个问题?

尝试#1

<link rel="ampHtml" href="http://example.com/">

尝试 #2

我使用 TinyURL 将我的 HTTP 链接转换为具有 HTTPS。 ...这适用于大多数链接(这很棒!)

点击时剩余的链接有额外的 Javascript 是 将 URL 查询字符串添加到 URL 的末尾。这些字符串适用于 TinyURL 成功,但最终目标 URL 上没有。

我能想到的唯一其他解决方案(如果可能的话)是......

  • JavaScript 在打开新标签页和加载网站之前将特定链接 onClick 转换为 HTTP。
  • JavaScript 延迟 HTTP 链接的加载。

【问题讨论】:

  • 这就像你要在撞车前解下安全带。
  • 我完全同意! ...如果这些 HTTP 网站是公共网站,但事实并非如此。使用 HTTPS 的主站点(仪表板)是一个公共网站,其中包含的 100 多个链接是 HTTP。这些 HTTP 站点是受 VPN 保护的 Intranet 中的内部网站,在 Internet 上不可见。 ...一个简单的解决方案是将仪表板网站设为 HTTP,并将其托管在内部网内部,但我不能。
  • 然后,忽略警告,因为根据您的评估,它对您是安全的。该警告将帮助您提醒自己该网站在 Intranet 之外是不安全的。
  • 一年多来我一直忽略这条消息。该仪表板每天使用,平均每天有 500 次点击/用户。那是 500 条警告,用户必须在“您的连接不是私密的”页面上单击“高级”按钮。导致 33 分钟/用户浪费在额外的点击和 2 倍的页面加载上。尽管您的解决方案有效,但我希望可能有更好的解决方案来消除此错误。尽管 HTTPS Dashboard 网站在“技术上”是公开的,但它也在目录级别受到用户/密码的保护,并且 99% 的时间都在内网环境中使用。

标签: javascript html


【解决方案1】:

您可以制作重定向页面。最基本的方法是使用 JavaScript 制作重定向页面。

if (window.location.search.includes("?url=")) {
  var url = window.location.search.replace("?url=", "");
  window.location.replace(url);
}

基本上,发生的情况是它从安全页面重定向到非安全页面,而不会导致“混合内容”错误。它从window.location.search 获取url 参数,然后重定向到该参数。

【讨论】:

    猜你喜欢
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 2015-12-15
    • 2020-03-01
    • 1970-01-01
    • 2013-04-21
    相关资源
    最近更新 更多