我的网页有时(很少)显示“有一些不安全的资源”警告图标(黄色锁定),如下面的屏幕截图所示。然而,这很少发生,现在我又抓到了另一个,我不想再错过它,所以我不能冒失去页面的风险。
该网页位于以下网址: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
),但不会触发警报。
我正在使用卡巴斯基反病毒软件,它使用代理来扫描传入/传出流量。这可能会造成一些麻烦,尽管到目前为止我还没有与其他网站有过任何问题。
我尝试了“查看页面源”并搜索了http资源,但只有带有http资源链接的标记是:
<meta name="twitter:image" content="http://eksisozluk.com/content/img/ilogo120.png" />
当图标为绿色时,页面中实际存在。所以这不是原因。
是否有办法直接查看Chrome中的“不安全内容”?
当我在Firefox中查看该页面时,它表示“部分加密”,但它没有显示未加密的内容。 “媒体”标签中的所有项目均以“https://”开头。
实际上现在我能够在Firefox上不断重现这个问题。我查看了网络选项卡,“没有”显示为http://
但Firefox告诉我“部分加密”。我不确定Firefox是否因为谷歌的原因(因为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>
和两个<TD title="http://...">
已插入Mvc-Mini-Profiler。当然,没有人能够证明这一点。以下是完整输出:http://pastebin.com/kgV8XHgN
所以这看起来非常有趣。 DOM中没有一个元素包含“HTTP”链接,但Chrome警告“不安全”内容。我很烦恼。
页面上没有iframe。 ($("iframe")
返回[]
)
答案 0 :(得分:14)
刚出现此问题 - 如果您在Chrome中查看Javascript控制台,它现在会告诉您问题所在。
答案 1 :(得分:4)
昨天我遇到了同样的问题,发现了http://www.whynopadlock.com/
它显示哪些元素不安全,并且还验证证书链。
顺便说一句,如果您的网站既可以加载http也可以加载https,那么可以从外部网址中省略http:。
不
src="http://external.dom/external.js" or "https://external.dom/external.js"
只是:
src="//external.dom/external.js"
然后浏览器将使用http或https,具体取决于页面加载的内容
答案 2 :(得分: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加载跟踪像素,从而导致错误。 / p>
我从按钮中删除了该事件,FF停止抱怨部分加密的连接。
答案 3 :(得分:0)
听起来很可能是一个AJAX资源与http:// URL一起使用......你很可能需要网络面板或控制台来检查它。
Firefox的内置开发者工具拥有它们。
答案 4 :(得分:0)
快速解决方案是在每个target="_blank"
元素中添加<a>
。它将在新窗口中打开链接。适用于所有浏览器。