【问题标题】:How can you tell exactly what insecure items are causing a browser to warn about mixed secure and insecure items?您如何准确判断哪些不安全项目导致浏览器警告混合的安全和不安全项目?
【发布时间】:2011-04-24 15:04:18
【问题描述】:

在 Firefox 中,我查看我的网站并没有收到关于不安全混合内容的警告。

使用FireBug,我可以看到每个请求都是https

在 Chrome 中,地址栏中的https 被划掉了。

我在 Chrome 中查看了源代码,然后运行了这个正则表达式 /http(?!s)/,但它发现的唯一内容是一些外部链接的 href 属性以及文档类型和 http-equiv 元标记。

使用 Chrome 的 资源跟踪 显示所有请求也是 https

这包括 Google Analytics、来自 Google 的 CDN 的 jQuery 和 Facebook 之类的脚本。

我可以使用任何特定工具来显示非https 请求,或者我可以尝试其他任何东西吗?

【问题讨论】:

  • 第 48 版 Chrome 成功了 dead simple
  • 我知道这篇文章已经过时了,但如果它对任何人都有帮助,现在可以运行一个桌面应用程序来扫描和报告在网站上发现的混合内容问题:ecommerce.co.uk/httpschecker
  • @alex:我知道这个问题现在已经很老了,但是考虑到大量新的(可能更好的)答案,我只是想让你读一下它们——也许有一个比我更好的答案值得接受。
  • @Cᴏʀʏ 我去看看

标签: google-chrome https


【解决方案1】:

你有 FireFox 的 HttpFox 插件吗?我想那会奏效。 除此之外,它还报告网页请求的所有资产的 URL、方法、结果代码和字节。这是我用来捕获偶尔的非 HTTPS 图形等的方法。我相信其他建议的工具也会这样做......

【讨论】:

  • 不,但我现在去看看。谢谢。
  • 该死,找不到任何非 HTTPS 请求。
【解决方案2】:

在这种情况下,准确查看正在使用哪个协议来加载资源会很有帮助,我建议将 Fiddler2 作为与浏览器无关的解决方案,它可以准确地向您显示每个请求上发生的流量。

来自网站:

Fiddler 是一个 Web 调试代理,它记录您的计算机和 Internet 之间的所有 HTTP(S) 流量。 Fiddler 允许您检查所有 HTTP(S) 流量、设置断点以及“摆弄”传入或传出数据。 Fiddler 包含一个强大的基于事件的脚本子系统,并且可以使用任何 .NET 语言进行扩展。

编辑:浏览器内调试工具变得非常好,因此这个第三方工具可能不像第一次编写这个答案时那么有用。

【讨论】:

    【解决方案3】:

    我发现即使在没有混合内容的情况下,我也会在 Chrome 中收到“混合内容”警告,如果在会话期间有时在域上已经遇到混合内容。

    (这里也提到:Why is Chrome reporting a secure / non secure warning when no other browsers aren't?

    【讨论】:

    • 感谢您发布此信息。这实际上解决了我的问题,因为知道基于标签的 Chrome 缓存为我节省了几个小时。在我网站的某个地方,有混合内容,这引发了所有运行 https 的页面的错误......即使没有 http 请求。
    • 这真的很烦人。我自己就遇到了这个问题,果然,当我打开一个新标签并将相同的网址粘贴到其中时,我得到了一个绿色的 https 和锁定图标。有谁知道为什么 chrome 会这样?
    • 谢谢,3 年后 Chrome 中仍然存在问题!重新启动 Chrome 对其进行排序。
    • 又一个“谢谢”来自我!浏览我的代码用 https 版本替换所有相对和绝对 URL 无济于事。然后只需将 url 复制/粘贴到对其进行排序的新选项卡中。感谢谷歌! :-\
    【解决方案4】:

    在 Chrome 的开发者工具中,控制台选项卡会显示由于不安全而无法加载的资源。

    【讨论】:

    • 这应该是公认的答案,它内置在浏览器中。
    • 是的,这是最好/最简单的答案。 Fiddler 等人的用处不大,因为您必须筛选大量请求。
    • 这是最好的方法,因为导致问题的不仅仅是资源。我发现针对不安全页面的通讯表单也导致我的绿色条被破坏。我很困惑,因为“网络”选项卡显示所有 https。不过,控制台选项卡告诉了我答案。
    【解决方案5】:

    我知道这篇文章很旧,但我遇到了同样的问题。我点击了 Chrome 菜单(右上角),向下滚动到 Tools> 并选择了 Developer Tools。单击“控制台”选项卡,它确切地告诉我问题出在哪里……该网站图标是通过 http 而不是 https 提供的,但当然它不在页面源代码中。更正了我的 CMS 中的问题,该问题在页面中加载了没有代码的网站图标...并且不再出现错误!

    【讨论】:

      【解决方案6】:

      打开 Web Inspector 并在右上角找到黄色三角形(警告)。单击它,它将显示所有安全问题。

      【讨论】:

      • 这应该是公认的答案。既然可以从 Chrome 中查看不安全的资源,为什么还要下载/使用第三方工具?
      • 这实际上并没有显示安全问题,至少在今天的 Chrome 版本上对我来说不是。我似乎记得这些东西在控制台中显示为警告,但现在不再是这种情况了,至少对于我这种奇怪的情况来说不是。
      【解决方案7】:

      请注意,“混合内容”和“混合脚本”是分开检测的。查看此站点以了解 Chrome 中图标的含义:https://support.google.com/chromebook/answer/95617?p=ui_security_indicator&rd=1(单击“查看详细信息”链接)。

      灰色图标 = 混合内容,红色图标 = 混合脚本。

      【讨论】:

        【解决方案8】:

        您可以使用SslCheck

        这是一个免费的在线工具,可以递归地抓取网站(跟踪所有内部链接)并扫描不安全的内容 - 图片、脚本和 CSS。

        (免责声明:我是开发人员之一)

        【讨论】:

          【解决方案9】:

          您可以将“方案”列添加到 Chrome 开发者工具网络选项卡,以显示通过 http 或 https 发送的请求:

          1. 按 F12 显示开发者工具
          2. 切换到网络标签
          3. 右键单击列标题并选择“方案”
          4. 重新加载页面以显示通过 http 或 https 加载的元素

          【讨论】:

            【解决方案10】:

            48-th 版本的 chrome 中,他们添加了 security panel。使用它可以快速识别混合内容资源:

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2018-07-14
              • 2010-10-06
              • 2016-06-08
              • 2011-02-02
              • 2011-09-22
              • 2013-08-12
              • 1970-01-01
              相关资源
              最近更新 更多