正在瀏覽網頁時忽然出現廣告彈窗,手動關閉窗口的話,則會跳轉到另一個不知名的網站。
如果出現上述情況,說明你的網站流量被劫持了。
流量劫持,是利用各種惡意軟件 、木馬修改瀏覽器 、鎖定主頁或不停彈出新窗口等方式,強制用戶訪問某些網站,從而造成用戶流量損失的情形,和DNS劫持不同,網站流量劫持是在你的網站頁面上添加彈出廣告等內容,但這些內容并不屬于網頁本身的廣告,有時候無論你訪問什么網頁,這些廣告都不會消失。
因為網站使用HTTP明文傳輸,攻擊者可以在服務器和用戶之間的信息傳輸中“加料”或者篡改。這是由于信息沒有加密造成的,就算DNS服務器可靠,也無法防止HTTP劫持。
流量劫持可以說是一種惡意行為,會對用戶帶來流量損失。引起流量劫持的原因很多,但是防止流量劫持也不是很難的事情。
能夠實施流量劫持的根本原因,是HTTP協議沒有辦法對通信對方的身份進行校驗以及對數據完整性進行校驗。如果能解決這個問題,則流量劫持將無法輕易發生。
SSL協議?.NETscape在1995年首次提出的用于解決傳輸層安全問題的網絡協議,其核心是基于公鑰密碼學理論實現了對服務器身份認證、數據的私密性保護以及對數據完整性的校驗等功能。
SSL協議在HTTP請求開始之前增加了握手的階段,在SSL握手階段,客戶端瀏覽器會認證服務器的身份,這是通過“證書”來實現的,證書由證書權威(CA)為某個域名簽發,可以理解為網站的身份證件,客戶端需要對這個證件進行認證,需要確定該證書是否屬于目標網站并確認證書本身是否有效。最后在握手階段,通信的雙方還會協商出一個用于加密和解密的會話密鑰。
SSL防護結束之后,服務器和客戶端使用協商出的會話密鑰對交互的數據進行加密/解密操作,對于HTTP協議來說,就是將HTTP請求和應答經過加密之后再發送到網絡上。由此可見,因為SSL協議提供了對服務器的身份認證,所以DNS劫持導致連接錯誤服務器的情況將會被發現進而終止連接,最終導致DNS挾持攻擊無法實現。此外SSL協議還提供數據的加密和完整性校驗,這就解決了關鍵信息被嗅探以及數據內容被修改的可能。
綜上所述,使用SSL證書是可以有效防止流量劫持的。