我的網頁有時(很少)顯示「有一些不安全的資源」警告圖標(黃色鎖),如下面的截圖所示。然而,這種情況很少發生,現在我又發現了一個,我不想再錯過它,所以我不能冒險丟掉頁面。如何識別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中發生的所有網絡通信的詳細調試。 –