摘要:因為頁面通過加載的初始請求是安全的,但是又加載了不安全的內容,因此稱之為混合內容。但是即使顯示警告,頁面也已經加載,用戶的安全仍然受到了威脅。這就是頁面為什么發送不了的原因。
我們都知道HTTPS的頁面是發送不了HTTP請求的,那么是什么原因導致HTTPS頁面不能發送HTTP請求呢?如果有發送的需求,怎么樣才能發送?最近剛好遇到了這個問題,而且搜了半天沒搜到靠譜的答案,所以有了本文。1. 故事起源
我在《Jquery ajax, Axios, Fetch區別之我見》中提到過,Fetch作為一種不同于XHR的請求方式,展示了它更多API,以及符合ES規范的良好前景;更不用說它可以支持POST跨域。剛好工作上有用post方法上報效果數據的請求,我小手一揮,不用后臺兄弟們麻煩了,我可以搞定,把效果上報換成了Fetch,美滋滋。
過了一段時間,后臺跑過來說,現在還有些其他HTTP站點的數據上報。我試了一下,移動端根本就沒有發出這個請求,這……
2. 為什么HTTPS頁面發送不了HTTP請求有些人說是跨域問題,真的是這樣嗎?
同源策略:1. 協議相同 2. 域名相同 3.端口相同
盡管HTTPS訪問HTTP確實不符合同源策略中的協議相同,但是在現代瀏覽器里,即使是域名相同的請求,也是會出現以下報錯,而不是跨域報錯。
這也很好理解,畢竟混合內容的安全策略是在瀏覽器端判定的,而是否能跨域要看服務器返回的Response頭,請求都被瀏覽器block掉了,也就不存在是否跨域的問題。
那什么是混合內容?
混合內容:初始 HTML 內容通過安全的 HTTPS 連接加載,但其他資源(例如,圖像、視頻、樣式表、腳本)則通過不安全的 HTTP 連接加載[1]。因為頁面通過 HTTPS 加載的初始請求是安全的,但是又加載了不安全的HTTP內容,因此稱之為混合內容。
因為HTTPS的S本身就是Secure的意思,現代瀏覽器最初會針對此類型的內容顯示警告,以向用戶表明此頁面包含不安全的資源。但是即使顯示警告,頁面也已經加載,用戶的安全仍然受到了威脅。所以沒過多久,Chrome和Firefox就直接阻斷掉了這類的請求。
這就是HTTPS頁面為什么發送不了HTTP的原因。
2. 突破方式盡管現在主流瀏覽器都已經block掉了HTTPS頁面上的HTTP請求,但是我們還是可以通過被動混合內容來發送get請求。
被動混合內容:指的是不與頁面其余部分進行交互的內容,包括圖像、視頻和音頻內容 ,以及無法與頁面其余部分進行交互的其他資源。主動混合內容: 指的是能與頁面交互的內容,包括瀏覽器可下載和執行的腳本、樣式表、iframe、flash 資源及其他代碼。[1]
因為攻擊者可以通過不安全的HTTP內容來攻擊安全的HTTPS頁面,所以這類請求被嚴格阻斷掉了————這也是為什么我們的Fetch請求被干掉了。所以我們可以在迫不得已的情況下,用img.src的方式來發送請求。當然,請求方法只能是get。
sendHttpRequest: () => { const img = new Image(); img.src = "http://xxx.com//你的請求" }
這時候,瀏覽器只會在控制臺報warning,而不會block我們的請求。
總結出于HTTPS的安全策略,瀏覽器會阻斷HTTPS上的非安全請求(HTTP)請求,但是我們可以使用被動混合內容的方式來跨越這個安全策略。
參考文章:《什么是混合內容》
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/95334.html
摘要:明文協議的缺陷是導致數據泄露數據篡改流量劫持釣魚攻擊等安全問題的重要原因。不驗證通信方的身份,因此有可能遭遇偽裝協議中的請求和響應不會對通信方進行確認。數字簽名能確定消息的完整性證明數據是否未被篡改過。 近幾年,互聯網發生著翻天覆地的變化,尤其是我們一直習以為常的HTTP協議,在逐漸的被HTTPS協議所取代,在瀏覽器、搜索引擎、CA機構、大型互聯網企業的共同促進下,互聯網迎來了HTTP...
摘要:明文協議的缺陷是導致數據泄露數據篡改流量劫持釣魚攻擊等安全問題的重要原因。也就是說加上加密處理和認證以及完整性保護后即是。數字簽名能確定消息的完整性證明數據是否未被篡改過。 前言 近幾年,互聯網發生著翻天覆地的變化,尤其是我們一直習以為常的HTTP協議,在逐漸的被HTTPS協議所取代,在瀏覽器、搜索引擎、CA機構、大型互聯網企業的共同促進下,互聯網迎來了HTTPS加密時代,HTTPS將...
摘要:明文協議的缺陷是導致數據泄露數據篡改流量劫持釣魚攻擊等安全問題的重要原因。也就是說加上加密處理和認證以及完整性保護后即是。數字簽名能確定消息的完整性證明數據是否未被篡改過。 前言 近幾年,互聯網發生著翻天覆地的變化,尤其是我們一直習以為常的HTTP協議,在逐漸的被HTTPS協議所取代,在瀏覽器、搜索引擎、CA機構、大型互聯網企業的共同促進下,互聯網迎來了HTTPS加密時代,HTTPS將...
閱讀 3618·2021-11-24 10:25
閱讀 2539·2021-11-24 09:38
閱讀 1230·2021-09-08 10:41
閱讀 2914·2021-09-01 10:42
閱讀 2586·2021-07-25 21:37
閱讀 1991·2019-08-30 15:56
閱讀 922·2019-08-30 15:55
閱讀 2759·2019-08-30 15:54