我的网页有时(很少)显示“有一些不安全的资源”警告图标(黄色锁),如下面的截图所示。然而,这种情况很少发生,现在我又发现了一个,我不想再错过它,所以我不能冒险丢掉页面。如何识别Chrome DevTools或Firefox中的不安全内容?
的页面是在URL:https://eksisozluk.com/sedat-kapanoglu-ve-40-kisiye-hapis-talep-edilmesi--3960310。您可能不会看到警告(除非是Firefox),因为我没有连续尝试Chrome,并且在出现错误时我已登录。因此,让我们假设您和我再也不会在Chrome上看到该警告图标。
当我使用该网站时,Devtools未打开,因此“网络”选项卡为空。那部分不起作用。
“Resources”将所有JS和CSS条目显示为https,并且没有来自http的单个资源。
该页面已加载jQuery,所以我试图查询$('*[href^="http:"]')
和$('*[src^="http:"]')
无济于事。该页面包含一些外部http链接(不是资源,简单的a href
's),但不会触发警报。
我正在使用卡巴斯基反病毒软件,它使用代理来扫描传入/传出流量。这可能会造成一些麻烦,尽管到目前为止我还没有和其他网站有任何问题。
我试过“查看页面源代码”,并寻找它的HTTP资源,但只能用HTTP资源的链接标签是:
<meta name="twitter:image" content="http://eksisozluk.com/content/img/ilogo120.png" />
实际上在页面存在时,图标为绿色了。所以这不可能是原因。
无法直接查看Chrome中的“不安全内容”吗?
当我在Firefox中查看页面时,它说“部分加密”,但它不显示未加密的内容。 “媒体”选项卡中的所有项目均以“https://”开头。
其实现在我可以在Firefox上不断重现问题。我看着网络标签,“没有”显示为http://
,但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>
用于twitter参考,<A href>
s和两个<TD title="http://...">
是Mvc-Mini-Profiler插入的。当然,他们没有任何理由证明警告。这里是完整的输出:http://pastebin.com/kgV8XHgN
所以这看起来很有趣。 DOM中没有包含“HTTP”链接的单个元素,但Chrome对“不安全”内容提出警告。我很困扰它。
页面上没有iframe。($("iframe")
返回[]
)
编辑:DAMN我失去了网页:(导航到一个链接和返回按钮变成SSL图标为绿色)我知道它不会持续很长时间,但我仍然感谢任何帮助,因为这不是我第一次看到这个问题。
您确定没有涉及浏览器扩展吗?你是否能够在另一台机器/设备上重现它? –
Chrome已经可以干预(我不知道),但Firefox有Firebug,UA Switcher,PageSpeed和YSlow。除Firebug之外,我从Firefox中删除了所有内容,但仍然显示“部分加密”,但没有显示“http://”资源。 –
其他设备/机器如果能够重现它?在Chrome中,还有一个工具可以帮助您进行调试。打开Chrome隐身窗口并关闭所有其他Chrome窗口。在隐身窗口中打开两个选项卡:一个包含要调试的页面,另一个包含chrome:// net-internals /。您将在网络内部选项卡中获得的内容是Chrome中发生的所有网络通信的详细调试。 –