亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

HTTPS混合內(nèi)容解析附解決方法

 更新時間:2017年09月03日 13:02:30   投稿:mdxy-dxy  
我們可能會有這樣的經(jīng)驗,當我們通過HTTPS訪問一個網(wǎng)站的時候,突然有提示:“本頁面包含有不安全的內(nèi)容”。這個時候會詢問是否顯示“不安全的內(nèi)容”,這個時候,就是遇到了有混合內(nèi)容的頁面了

什么是HTTPS混合內(nèi)容

我們可能會有這樣的經(jīng)驗,當我們通過HTTPS訪問一個網(wǎng)站的時候,突然有提示:“本頁面包含有不安全的內(nèi)容”。這個時候會詢問是否顯示“不安全的內(nèi)容”,這個時候,就是遇到了有混合內(nèi)容的頁面了。

HTTPS下的頁面,幾乎很少是采用單一連接,HTML標識、圖片、JS腳本以及其他頁面資源不僅是多個連接獲取到,甚至可能是來自完全不同的服務器和網(wǎng)站。為了確保一個頁面進行了正確的加密,所有的頁面資源都通過HTTPS進去獲取是必要的。但在實際情況中,全部資源都采用HTTPS卻不常見,這就倒是了混合內(nèi)容(mixed content)安全問題的產(chǎn)生。

產(chǎn)生混合內(nèi)容的原因

程序員某些程序員仍然基于HTTP下的編程習慣,導致代碼的不嚴謹。最常見的就是采用絕對路徑的方式,訪問網(wǎng)站上的資源,在HTTP的模式下這種方式可能都是正確的,但一旦這些頁面要求改用HTTPS,這些元素就很可能是被通過HTTP調(diào)用,而產(chǎn)生錯誤。

Mashup

隨著Mashup的發(fā)展,網(wǎng)站不再是自己提供全部內(nèi)容,它們混合其他網(wǎng)站的內(nèi)容,而內(nèi)容的來源則被隱去。Mashup雖然對開發(fā)者來說非常有用,但也讓我們的HTTPS變得不可捉摸。

Mashup主要通過在頁面加載第三方的JavaScript代碼來實現(xiàn)的,在HTTPS加密的上下文中,經(jīng)常會出現(xiàn)第三方的內(nèi)容和服務不支持HTTPS加密,前幾年,百度和Goolge的很多服務業(yè)也都不支持HTTPS,最近2、3年,才開始支持全網(wǎng)SSL,但有些小的服務商依然不能做到全部支持HTTPS。

CDN

CDN在全球建立大量的服務器,可以通過對用戶訪問IP地址的判斷,選擇最優(yōu)的網(wǎng)絡訪問位置,為用戶提供大量的(主要是靜態(tài))數(shù)據(jù)文件。通常CDN要支持用戶通過HTTPS訪問內(nèi)容的成本比較高,因為CDN通常使用BDNS的域名解析技術(shù),這會對一個網(wǎng)站在全球的各個不同的分發(fā)站點分配不同的主機名,所以我們經(jīng)常必須采用Wildcard通配符證書,甚至Wildcard San證書來支持,同時因為SNI的兼容性還不夠完善,每個分發(fā)點最好都具體自己獨立的IP地址,這也導致運維的復雜性和成本的提高。
混合內(nèi)容的影響混合內(nèi)容的影響主要與沒有被加密的內(nèi)容性質(zhì)所決定,目前主要有兩種性質(zhì)的內(nèi)容:

混合被動內(nèi)容(Mixed passive content),混合主動內(nèi)容(Mixed active conttent)。前者也叫混合顯示(Mixed Display),它們是低風險的內(nèi)容,例如圖片; 后者也叫作混合腳本(Mixed Scripting),它們是高風險的內(nèi)容,常見的有JavaScript腳本。

混合主動內(nèi)容是威脅的真正來源。一個不被加密的JavaScript文件的引用,可能會被主動攻擊者劫持,并用來獲取對頁面的完全控制,已經(jīng)使用受害者的身份在網(wǎng)站上執(zhí)行任意的動作。對于其他危險的資源類型也是如此,包括:HTML(框架)、CSS、FLASH和JAVA應用程序等。

混合被動內(nèi)容雖然不是那么的危險,但依然會破壞頁面的完整性。在某些情況下,攻擊者可以通過在圖片中插入信息來玩弄受害者,可能導致釣魚攻擊的發(fā)生。

瀏覽器的處理

Android瀏覽器

Android的瀏覽器對混合內(nèi)容沒有任何限制。
Chrome

Chrome從版本38開始,會阻止所有的混合主動內(nèi)容。
Firefox

Firefox很久以前就可以對混合內(nèi)容進行檢測并發(fā)出警告,但一直到版本23以后,開始對所有的混合主動內(nèi)容進行阻斷。
IE

IE從IE5(1999年)開始就支持對混合內(nèi)容的檢測,當IE檢測到同一個頁面上存在加密和明文內(nèi)容的時候,它將提示用戶來決定如何處理。但一直到IE9以后,才開始對混合主動內(nèi)容進行阻斷,同時開始對混合的被動內(nèi)容采取了默許的方式。
Safri

Safri目前不阻斷任何混合內(nèi)容,這是它與其他瀏覽器相比的一個很大的區(qū)別。


 Images  
 CSS  
 Scripts 
XHR  
 Websockets  
 Frames
 Android Brower 4.4 
 Y




 Chrome    41  Y




 Firefox 30 
 Y




 IE 11  Y




 Safari 





查找混合內(nèi)容

查找網(wǎng)頁是否存在混合內(nèi)容,推薦使用Chrome的“開發(fā)者工具”:

Chrome-開發(fā)者工具

訪問需要測試網(wǎng)頁,然后打開,開發(fā)者工具,選擇“Security”-"Non-Secure Origin",就可以看到Mixed Content:

Chrome-Mixed Content

解決辦法

檢查代碼

新的網(wǎng)站開發(fā),在搭建測試環(huán)境時,建議直接在測試環(huán)境部署HTTPS,以確保網(wǎng)站在測試時就能及時發(fā)現(xiàn)混合內(nèi)容問題,并及時糾正。

程序員在代碼開發(fā)時,可以采用以下方式:

本地的圖片和腳本通過HTTP顯示方式直接調(diào)用。可以檢索所有通過http://絕對路徑方式調(diào)用的元素,改用本地相對路徑。訪問了一些外網(wǎng)的圖片和腳本。譬如某網(wǎng)站www.domain.com,將圖片放在另外一個站點img.domain.com,將腳本訪問js.domain.com上,請在每個站點都部署HTTPS,然后將原先的http://的引用方式調(diào)整為//的引用方式。例如:原先的代碼 <img src="http://img.domain.com/image/1.jpg" /> 修改為 <img src="http://img.domain.com/image/1.jpg" /> 。調(diào)整后,瀏覽器會自動選擇http還是https來訪問外網(wǎng)資源。如需要使用第三方系統(tǒng)提供的應用服務,請尋求支持HTTPS的服務商,目前百度和Google都已經(jīng)支持全網(wǎng)HTTPS,而且正規(guī)的應用服務上,都會開始支持HTTPS了。HTST

HTST是一種強制瀏覽器獲取安全資源的機制,即使在面對用戶錯誤(譬如用戶用80端口訪問到你的網(wǎng)站)以及實現(xiàn)錯誤(網(wǎng)站開發(fā)人員在HTTPS頁面上加了不安全的元素)也依然有效。這個特性有效的消除了混合內(nèi)容的問題,但僅能在你能控制的域名下工作。

HTST要求通過301跳轉(zhuǎn)的方式,一下僅就IIS簡要介紹一下:

首先在網(wǎng)站上配置1個HTTP的網(wǎng)站,和一個HTTPS的網(wǎng)站,選擇HTTP重定向:

IIS HTST1

 狀態(tài)代碼設(shè)置為:永久(301)。重定向到相同域名的HTTPS站點上。

有關(guān)HTST的詳細使用,我們將另外發(fā)文介紹。

CSP

為了阻斷從第三方網(wǎng)站獲取到的不安全資源,可以使用安全內(nèi)容策略(Content Security Policy,CSP)。這個安全特性可以對不安全的資源進行阻斷。它同時還有很多其他有用的特性來處理應用層安全問題。

相關(guān)文章

  • squid3緩存服務器編譯安裝和高命中率配置示例

    squid3緩存服務器編譯安裝和高命中率配置示例

    這篇文章主要介紹了squid3緩存服務器編譯安裝和高命中率配置示例,本文講解了下載squid、編譯安裝squid、配置squid等內(nèi)容,需要的朋友可以參考下
    2014-12-12
  • windows服務器管理的安全注意事項

    windows服務器管理的安全注意事項

    剛好看到這篇關(guān)于服務器安全設(shè)置的文章,對于windows來說安全設(shè)置需要注意很多地方
    2019-11-11
  • MIME類型大全(response.setContentType中MIME參數(shù)類型總結(jié))

    MIME類型大全(response.setContentType中MIME參數(shù)類型總結(jié))

    MIME類型就是設(shè)定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,瀏覽器會自動使用指定應用程序來打開。多用于指定一些客戶端自定義的文件名,以及一些媒體文件打開方式
    2017-07-07
  • aarch64服務器部署mysql的流程分析

    aarch64服務器部署mysql的流程分析

    這篇文章主要介紹了aarch64服務器部署mysql,通過編寫docker-compose.yaml及編寫數(shù)據(jù)庫配置文件,對aarch64服務器部署mysql的流程感興趣的朋友一起看看吧
    2022-09-09
  • 一文帶你搞懂什么是正向代理與反向代理

    一文帶你搞懂什么是正向代理與反向代理

    這篇文章主要介紹了一文帶你搞懂什么是正向代理與反向代理,正向代理是一個位于客戶端和目標服務器之間的代理服務器(中間服務器),反向代理是指以代理服務器來接收客戶端的請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡上的服務器,結(jié)果返回給客戶端,需要的朋友可以參考下
    2023-08-08
  • windows服務器運維需要的遠程桌面控制軟件

    windows服務器運維需要的遠程桌面控制軟件

    我們有些朋友可能用到本地電腦自帶的遠程工具,但是這種比較局限僅僅是服務器端的連接,不可以操控遠程的其他電腦,在這篇文章中,整理7個適用于電腦端的遠程桌面控制軟件
    2024-01-01
  • 網(wǎng)站控制臺directadmin中文手冊 Linux下虛擬主機管理

    網(wǎng)站控制臺directadmin中文手冊 Linux下虛擬主機管理

    特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點,本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系
    2009-11-11
  • 配置Domino服務器詳細步驟分享

    配置Domino服務器詳細步驟分享

    配置服務器一共有兩種:1.配置新的服務器2.刪除原有服務器,再次安裝(原來注冊的人員依然能用)。這想這里指的安裝并不是教你如何用張Domino服務器安裝在機器上,主要是為了教你們?nèi)绾闻渲?服務器
    2011-10-10
  • Tornado Web服務器中處理空白字符的解決方案

    Tornado Web服務器中處理空白字符的解決方案

    這篇文章主要介紹了Tornado Web服務器中處理空白字符的解決方案,本文通過修改Tornado源碼解決這個問題,需要的朋友可以參考下
    2015-01-01
  • git遠程倉庫_動力節(jié)點Java學院整理

    git遠程倉庫_動力節(jié)點Java學院整理

    這篇文章主要介紹了git遠程倉庫的相關(guān)資料,需要的朋友可以參考下
    2017-08-08

最新評論