6

我的网页有时(很少)显示“有一些不安全的资源”警告图标(黄色锁),如下面的屏幕截图所示。但是这种情况很少发生,现在我又抓到了一个,我不想再错过它,所以我不能冒险丢失页面。

不安全的内容警告

该页面位于 URL:https ://eksisozluk.com/sedat-kapanoglu-ve-40-kisiye-hapis-talep-edilmesi--3960310 。您可能不会看到警告(除非是 Firefox),因为我在 Chrome 上的连续尝试中没有看到,当我收到错误时我已经登录。所以让我们假设你和我再也不会在 Chrome 上看到那个警告图标了。

当我使用该站点时,Devtools 没有打开,因此“网络”选项卡为空。那部分行不通。

“资源”将所有 JS 和 CSS 条目显示为 https,那里没有来自 http 的单一资源。

该页面已加载 jQuery,因此我尝试查询$('*[href^="http:"]')$('*[src^="http:"]')无济于事。该页面包含一些外部 http 链接(不是资源,普通a href的),但这不会触发警报。

我正在使用卡巴斯基反病毒软件,它使用代理来扫描传入/传出流量。尽管到目前为止我在其他网站上没有遇到任何问题,但这可能会造成一些麻烦。

我尝试了“查看页面源代码”并在其中搜索 http 资源,但只有带有 http 资源链接的标签是:

<meta name="twitter:image" content="http://eksisozluk.com/content/img/ilogo120.png" />

当图标也是绿色时,它实际上存在于页面中。所以这不可能是原因。

有没有办法直接查看 Chrome 中的“不安全内容”?

当我在 Firefox 中查看该页面时,它显示“部分加密”,但它也没有显示未加密的内容。“媒体”选项卡中的所有项目都以“https://”开头。

实际上,现在我可以在 Firefox 上连续重现该问题。我查看了网络选项卡,http://但 Firefox 告诉我“部分加密”,“没有”显示。我不确定 Firefox 是否出于与 Google 相同的原因(因为 Firefox 对此保持一致和坚持),但我提供了这两种情况,以防它们属于相同的根本原因。

我终于在 Chrome 控制台中写了这段代码来找到罪魁祸首:

$("*").each(function (index, elem) {
  var attrs = elem.attributes;
  for(var n = 0; n < attrs.length; n++) {    
    var attr = attrs[n];
    if(attr.nodeValue.indexOf("http://") >= 0) {
      console.log("FOUND: <" + elem.nodeName + " " + attr.nodeName + "='" + attr.nodeValue + "'>");
      console.log($(elem));
    }
  }
});

输出显示没有有趣的东西。仅供<META content>推特参考,<A href>s和mvc-Mini-Profiler插入的两个<TD title="http://...">s。当然,他们都没有证明警告是合理的。这是完整的输出: http: //pastebin.com/kgV8XHgN

所以这看起来真的很有趣。DOM 中没有一个元素包含“HTTP”链接,但 Chrome 会警告“不安全”内容。我对此非常困扰。

页面上没有 iframe。($("iframe")返回[]

编辑:该死,我丢失了页面:((导航到一个链接,后退按钮变成绿色的 SSL 图标)。我知道它不会持续很长时间。但我仍然感谢任何帮助,因为这不是我第一次看到那个问题。

4

5 回答 5

14

刚刚遇到了这个问题——如果你在 Chrome 中检查 Javascript 控制台,它现在会告诉你问题出在哪里。

于 2014-09-29T20:25:39.323 回答
4

我昨天遇到了同样的问题,发现http://www.whynopadlock.com/

它显示了哪些元素不安全,并且还验证了证书链。

顺便说一句,如果您的网站可以同时加载 http 和 https,则从外部 url 中省略 http:。

不是:

src="http://external.dom/external.js" or "https://external.dom/external.js"

只是:

src="//external.dom/external.js"

然后浏览器将根据页面加载的内容使用 http 或 https

于 2014-01-24T18:46:36.207 回答
2

我刚刚花了一个小时遇到类似的问题,我在 Chrome 和 IE 中获得了绿色 ssl 锁,但在 Firefox 中没有(仅在页面重新加载后)。

首先:要调试 SSL 问题,httpfox 插件似乎比 firebug 的网络选项卡更好。Firebug 将所有来源显示为 https,但查看 httpfox,我很快找到了罪魁祸首:Google Analytics 正在通过 http 加载 ___utm.gif 跟踪像素。这个跟踪像素来自上一页,我在其中跟踪了一个附加到按钮点击的 Google Analytics 事件。

这似乎是 Firefox 中的一个错误:当从 http 页面跟踪 GA 事件到 https 页面(例如单击继续按钮)时,FF 将在 https 页面上通过 http 加载跟踪像素,从而导致错误。

我从按钮中删除了事件,FF 停止抱怨部分加密的连接。

于 2014-01-12T03:39:45.083 回答
0

听起来 AJAX 资源很可能与 http:// URL 一起使用......您很可能需要网络面板或控制台来检查它。

Firefox 的内置开发者工具拥有它们。

于 2014-10-03T10:03:22.050 回答
0

一个快速的解决方案是添加target="_blank"每个<a>元素。它将在新窗口中打开链接。在所有浏览器上工作。

于 2017-09-15T10:45:12.223 回答