本發(fā)明屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種在路由器上防止網(wǎng)頁劫持的方法。
背景技術(shù):
HTTP請求在網(wǎng)絡(luò)中進(jìn)行明文傳輸,傳輸過程中常常會被網(wǎng)絡(luò)節(jié)點中的路由設(shè)備進(jìn)行連接并修改,以實現(xiàn)廣告插入和將請求導(dǎo)流到釣魚網(wǎng)站。當(dāng)網(wǎng)站同時存在HTTP和HTTPS的服務(wù)時,如果用戶直接在瀏覽器中輸入域名進(jìn)行訪問時,第一個請求仍然是HTTP的,存在被攔截修改的風(fēng)險。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于:針對傳統(tǒng)路由器對用戶瀏覽器發(fā)起HTTP請求容易被上級網(wǎng)絡(luò)設(shè)備劫持和篡改的問題,提出一種在路由器上防止網(wǎng)頁劫持的方法。
本發(fā)明采用的技術(shù)方案如下:
一種在路由器上防止網(wǎng)頁劫持的方法,包括以下步驟:
a.用戶瀏覽器發(fā)起HTTP訪問請求至防劫持路由器;
b.防劫持路由器對HTTP訪問請求的資源進(jìn)行驗證,如資源可通過HTTPS進(jìn)行訪問進(jìn)行下一步;如不能通過HTTPS方式訪問,則直接通過HTTP請求訪問;
c.防劫持路由器返回301,將HTTP請求重新定位為HTTPS請求,發(fā)送至上級網(wǎng)絡(luò)設(shè)備;
d.上級網(wǎng)絡(luò)設(shè)備將訪問到的網(wǎng)絡(luò)資源通過防劫持路由器傳送至用戶。
進(jìn)一步的,所述防劫持路由器驗證方式為:通過防劫持路由器中本地存儲的HTTPS-HTTP映射對進(jìn)行驗證。
進(jìn)一步的,所述本地存儲的HTTPS-HTTP映射對通過云端服務(wù)器存儲的HTTPS-HTTP映射對更新,更新后本地存儲的HTTPS-HTTP映射對持久化到本地properties配置文件中,以HASH表的方式存儲于防劫持路由的內(nèi)存中。
進(jìn)一步的,所述本體本地存儲HTTPS-HTTP映射對通過云端服務(wù)器提供的同步HTTPS-HTTP映射對的WEB API接口進(jìn)行更新。
進(jìn)一步的,所述本地存儲的HTTPS-HTTP映射對還通過防劫持路由器進(jìn)行維護(hù),當(dāng)HTTPS-HTTP映射對中HTTPS連接失敗超過設(shè)定次數(shù)閾值時,在本地內(nèi)存HASH表和持久化properties配置文件中刪除此映射對,并通過HTTPS無效告警的WEB API接口上報至云端服務(wù)器;云端服務(wù)器收到無效告警后依據(jù)設(shè)定周期對HTTPS連接進(jìn)行訪問,當(dāng)訪問時段超過設(shè)定時長閾值時,HTTPS鏈接仍然失效,則將其在云端服務(wù)器存儲的HTTPS-HTTP映射對中刪除。
進(jìn)一步的,所述云端服務(wù)器HTTPS-HTTP映射對通過以下步驟進(jìn)行添加:
a.防劫持路由其對設(shè)定時間段內(nèi)未存在HTTPS-HTTP映射對的HTTP鏈接訪問次數(shù)進(jìn)行統(tǒng)計;
b.防劫持路由器依據(jù)訪問次數(shù)由高到低選取設(shè)定數(shù)量的HTTP鏈接通過云端服務(wù)器提供的未映射HTTPS的HTTP鏈接的WEB API接口上傳至云端服務(wù)器;
c.云端服務(wù)器對上報的HTTP鏈接進(jìn)行分析,對存在對于HTTPS映射的HTTP鏈接經(jīng)人工審核后新增入云端服務(wù)器HTTPS-HTTP映射對。
綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
本發(fā)明可以降低網(wǎng)頁瀏覽內(nèi)容在中間網(wǎng)絡(luò)被劫持或篡改的風(fēng)險,防止用戶受到第三方廣告和釣魚網(wǎng)站的傷害。
通過多種方式對HTTPS-HTTP映射對進(jìn)行維護(hù)和更新,保證了HTTPS-HTTP映射對的有效性,提高了用戶的驗證正確率和驗證速度,進(jìn)一步保證了用戶網(wǎng)頁瀏覽的安全性。
附圖說明
圖1為本發(fā)明原理圖。
具體實施方式
下面結(jié)合試驗例及具體實施方式對本發(fā)明作進(jìn)一步的詳細(xì)描述。但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實施例,凡基于本發(fā)明內(nèi)容所實現(xiàn)的技術(shù)均屬于本發(fā)明的范圍。
一種在路由器上防止網(wǎng)頁劫持的方法,包括以下步驟:
a.用戶瀏覽器發(fā)起HTTP訪問請求至防劫持路由器;如用戶通過瀏覽器輸入www.xxx.com進(jìn)行訪問,即進(jìn)行http://www.xxx.com訪問;
b.防劫持路由器對http://www.xxx.com的資源進(jìn)行驗證,通過防劫持路由器中本地存儲的HTTPS-HTTP映射對進(jìn)行檢測,如發(fā)現(xiàn)https://www.xxx.com,可用則進(jìn)行下一步;如不能通過HTTPS方式訪問,則直接通過http://www.xxx.com訪問;
c.防劫持路由器返回301,將HTTP請求重新定位為https://www.xxx.com,發(fā)送至上級網(wǎng)絡(luò)設(shè)備;
d.上級網(wǎng)絡(luò)設(shè)備將訪問到的網(wǎng)絡(luò)資源通過防劫持路由器傳送至用戶。
進(jìn)一步的,所述防劫持路由器驗證方式為:通過防劫持路由器中本地存儲的HTTPS-HTTP映射對進(jìn)行驗證。
進(jìn)一步的,所述本地存儲的HTTPS-HTTP映射對通過云端服務(wù)器存儲的HTTPS-HTTP映射對更新,更新后本地存儲的HTTPS-HTTP映射對持久化到本地properties配置文件中,以HASH表的方式存儲于防劫持路由的內(nèi)存中。
進(jìn)一步的,所述本體本地存儲HTTPS-HTTP映射對通過云端服務(wù)器提供的同步HTTPS-HTTP映射對的WEB API接口進(jìn)行更新。
進(jìn)一步的,所述本地存儲的HTTPS-HTTP映射對還通過防劫持路由器進(jìn)行維護(hù),當(dāng)HTTPS-HTTP映射對中HTTPS連接失敗超過三次時,在本地內(nèi)存HASH表和持久化properties配置文件中刪除此映射對,并通過HTTPS無效告警的WEB API接口上報至云端服務(wù)器;云端服務(wù)器收到無效告警后每小時對HTTPS連接進(jìn)行訪問,當(dāng)訪問超過七天,HTTPS仍然失效,則將其在云端服務(wù)器存儲的HTTPS-HTTP映射對中刪除。
進(jìn)一步的,所述云端服務(wù)器HTTPS-HTTP映射對通過以下步驟進(jìn)行添加:
a.防劫持路由每小時對未存在HTTPS-HTTP映射對的HTTP鏈接訪問次數(shù)進(jìn)行統(tǒng)計;
b.防劫持路由器依據(jù)訪問次數(shù)由高到低選取20個相應(yīng)的HTTP鏈接通過云端服務(wù)器提供的未映射HTTPS的HTTP鏈接的WEB API接口上傳至云端服務(wù)器;
c.云端服務(wù)器對上報的HTTP鏈接進(jìn)行分析,對存在對于HTTPS映射的HTTP鏈接經(jīng)人工審核后新增入云端服務(wù)器HTTPS-HTTP映射對。