亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

鏈接偽裝系統(tǒng)及方法與流程

文檔序號(hào):12600618閱讀:1188來源:國(guó)知局
鏈接偽裝系統(tǒng)及方法與流程

本發(fā)明涉及計(jì)算機(jī)和計(jì)算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及一種鏈接偽裝系統(tǒng)及方法。



背景技術(shù):

在時(shí)下的互聯(lián)網(wǎng)開發(fā)中,在基于用于原創(chuàng)內(nèi)容UGG(User Generated Content)或基于位置服務(wù)LBS(Location Based Service)的web或移動(dòng)端產(chǎn)品的內(nèi)容多見超鏈接(又叫長(zhǎng)鏈接)。但是大多數(shù)超鏈接的字符長(zhǎng)度過長(zhǎng)且明文顯示,不利于傳輸安全和數(shù)據(jù)存儲(chǔ),同時(shí)也不利于搜索引擎的抓取,繼而影響到搜索引擎優(yōu)化SEO(Serach Engine Optimization)。為了解決上述問題,大部分的開發(fā)團(tuán)隊(duì)通過使用命名規(guī)則以促使連接盡可能的縮短,但是鏈接的長(zhǎng)度仍不能滿足最優(yōu)化的要求。另外,以百度云盤為代表的較多平臺(tái),采用的多為服務(wù)端腳本實(shí)現(xiàn)的域名系統(tǒng)DNS(Domain Name System)重定向的方案,其對(duì)服務(wù)端的攔截和解析能力較為依賴。并且,現(xiàn)有的方案在對(duì)超鏈接進(jìn)行重定向時(shí),會(huì)直接跳轉(zhuǎn)至新請(qǐng)求的頁面,會(huì)有突兀感。

申請(qǐng)公布號(hào)CN 106202187 A,申請(qǐng)公布日2016年12月07日的發(fā)明專利申請(qǐng)公開了一種在瀏覽器中處理短鏈接的方法和裝置。包括:接收短鏈接;根據(jù)預(yù)定的映射關(guān)系確定所述短鏈接對(duì)應(yīng)的長(zhǎng)連接,當(dāng)存在對(duì)應(yīng)的長(zhǎng)連接,則根據(jù)該長(zhǎng)鏈接加載對(duì)應(yīng)的頁面,其中,所述預(yù)定的映射關(guān)系定義了短鏈接和長(zhǎng)鏈接的對(duì)應(yīng)關(guān)系,并且短鏈接通過索引關(guān)聯(lián)到其對(duì)應(yīng)的長(zhǎng)鏈接。解決了鏈接在傳輸過程因字符串過長(zhǎng)造成的效率低下和在存儲(chǔ)環(huán)節(jié)中因過長(zhǎng)造成讀寫性能低下的問題,提高了傳輸環(huán)節(jié)的安全性,避免了鏈接在變化跳轉(zhuǎn)時(shí)的過多等待和用戶體驗(yàn)上的突兀感。

申請(qǐng)公布號(hào)CN 105978944 A,申請(qǐng)公布日2016年09月28日的發(fā)明專利申請(qǐng),也公開了一種對(duì)象存儲(chǔ)方法和裝置。包括步驟:將通過短鏈接應(yīng)用程序接口收到的申請(qǐng)請(qǐng)求發(fā)送至服務(wù)器;獲取服務(wù)器分配的與申請(qǐng)請(qǐng)求對(duì)應(yīng)的短鏈接;當(dāng)對(duì)象存儲(chǔ)集群收到通過短鏈接發(fā)送的下載請(qǐng)求時(shí),在對(duì)象存儲(chǔ)集群的數(shù)據(jù)庫中對(duì)短鏈接執(zhí)行查找操作。

申請(qǐng)公布號(hào)CN 106210161 A,申請(qǐng)公布日2016年12月07日的發(fā)明專利申請(qǐng),公開了一種短鏈接生成方法及系統(tǒng)。該方法包括:接收短鏈接申請(qǐng)請(qǐng)求,所述短鏈接申請(qǐng)請(qǐng)求中包括待轉(zhuǎn)換的原始鏈接,待轉(zhuǎn)換的原始鏈接所述的應(yīng)用程序標(biāo)志;根據(jù)所述應(yīng)用程序標(biāo)識(shí)確定所述短鏈接申請(qǐng)請(qǐng)求對(duì)應(yīng)的N個(gè)基本字符,所述N個(gè)基本字符是預(yù)先根據(jù)所述應(yīng)用程序標(biāo)識(shí)和應(yīng)用程序選擇的N禁止確定的,N為整數(shù);確定與所述原始鏈接對(duì)應(yīng)的唯一標(biāo)識(shí),并根據(jù)所述唯一標(biāo)識(shí)確定與所述N進(jìn)制對(duì)應(yīng)的結(jié)果字串;確定所述結(jié)果字串的K個(gè)插入位置,并從所述N個(gè)基本字符中選擇M個(gè)字符分別插入到所述K個(gè)插入位置,從而生成所述原始鏈接對(duì)應(yīng)的短鏈接,M和K為正整數(shù),以解決目前的短鏈接生成方法中導(dǎo)致短鏈接數(shù)據(jù)有限的問題。

上述的多種安全技術(shù)手段在使用的同時(shí),有可能成為系統(tǒng)的瓶頸,特別在高并發(fā)環(huán)境下,這種鏈接轉(zhuǎn)換極有可能成為系統(tǒng)的拖累,達(dá)不到預(yù)期。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)現(xiàn)有技術(shù)存在的上述問題,本發(fā)明公開了一種鏈接偽裝系統(tǒng)及方法。

本發(fā)明采取如下技術(shù)方案:

一種鏈接偽裝系統(tǒng),其包括偽裝鏈接生成單元和偽裝數(shù)據(jù)庫,所述偽裝鏈接生成單元用于將偽裝請(qǐng)求中的原始鏈接轉(zhuǎn)換成對(duì)應(yīng)的偽裝鏈接,存儲(chǔ)所述原始鏈接與所述偽裝鏈接的映射關(guān)系至所述偽裝數(shù)據(jù)庫并且將所述偽裝鏈接返回給請(qǐng)求方。所述偽裝鏈接生成單元包括放號(hào)單元、編碼單元;所述放號(hào)單元將號(hào)值分配給所述偽裝請(qǐng)求作為所述偽裝請(qǐng)求的唯一標(biāo)識(shí),所述編碼單元按照預(yù)定的編碼規(guī)則將所述唯一標(biāo)識(shí)轉(zhuǎn)換為偽裝鏈接;

所述放號(hào)單元具有N個(gè),N個(gè)所述放號(hào)單元的所述號(hào)值的初始值相差N;各所述放號(hào)單元還包括計(jì)算單元,所述計(jì)算單元對(duì)于其響應(yīng)的每一個(gè)偽裝請(qǐng)求,都將號(hào)值遞增或者遞減N;其中,N大于1。

作為優(yōu)選,所述偽裝鏈接生成單元還包括緩存數(shù)據(jù)庫,所述緩存數(shù)據(jù)庫存儲(chǔ)在緩存時(shí)間內(nèi)處理的偽裝請(qǐng)求信息,所述偽裝請(qǐng)求信息至少包括原始鏈接信息及其對(duì)應(yīng)的偽裝鏈接信息;所述放號(hào)單元還包括檢索單元,所述檢索單元在所述緩存數(shù)據(jù)庫中檢索所述偽裝請(qǐng)求中的原始鏈接,如果檢索成功則所述放號(hào)單元和所述編碼單元不響應(yīng)所述偽裝請(qǐng)求,所述偽裝鏈接生成單元將所述緩存數(shù)據(jù)庫中與所述原始鏈接對(duì)應(yīng)的偽裝鏈接返回給所述請(qǐng)求方;如果檢索失敗則所述放號(hào)單元和所述放號(hào)單元響應(yīng)所述偽裝請(qǐng)求。

作為優(yōu)選,所述偽裝請(qǐng)求信息還包括所述偽裝請(qǐng)求的存儲(chǔ)時(shí)間;所述檢索單元在所述緩存數(shù)據(jù)庫中成功檢索到所述偽裝請(qǐng)求中的原始鏈接時(shí)更新所述偽裝請(qǐng)求的存儲(chǔ)時(shí)間;所述偽裝鏈接生成單元還包括緩存清理單元,所述緩存清理單元?jiǎng)h除所述緩存數(shù)據(jù)庫中存儲(chǔ)時(shí)間超過緩存時(shí)間的偽裝請(qǐng)求信息。

作為優(yōu)選,還包括偽裝鏈接解析單元,所述偽裝鏈接解析單元用于根據(jù)解析請(qǐng)求中的偽裝鏈接在所述偽裝數(shù)據(jù)庫中檢索對(duì)應(yīng)的原始鏈接,并將所述原始鏈接返回給請(qǐng)求方。

作為優(yōu)選,還包括網(wǎng)址重定向單元,所述網(wǎng)址重定向單元將網(wǎng)址定向請(qǐng)求中的原始鏈接重定向至對(duì)應(yīng)的網(wǎng)址。

作為優(yōu)選,所述偽裝數(shù)據(jù)庫為內(nèi)存數(shù)據(jù)庫或者鍵-值型數(shù)據(jù)庫。

本發(fā)明還提出了一種鏈接偽裝方法,其特征在于,包括:

步驟S1,偽裝鏈接生成,偽裝鏈接生成單元將偽裝請(qǐng)求中的原始鏈接轉(zhuǎn)換成對(duì)應(yīng)的偽裝鏈接,存儲(chǔ)所述原始鏈接與所述偽裝鏈接的映射關(guān)系至偽裝數(shù)據(jù)庫并且將所述偽裝鏈接返回值請(qǐng)求方;具體包括,

步驟S1-1,將號(hào)值分配給所述偽裝請(qǐng)求作為所述偽裝請(qǐng)求的唯一標(biāo)識(shí),并將號(hào)值遞增或者遞減N;

步驟S1-2,按照預(yù)定的編碼規(guī)則將所述唯一標(biāo)識(shí)轉(zhuǎn)換為偽裝鏈接;

步驟S2,偽裝數(shù)據(jù)存儲(chǔ),存儲(chǔ)所述步驟S1中生成的原始鏈接與所述偽裝鏈接的映射關(guān)系至偽裝數(shù)據(jù)庫;

步驟S3,將所述偽裝鏈接返回至所述偽裝請(qǐng)求的請(qǐng)求方;

其中,所述步驟S1能夠在N個(gè)單元中分別執(zhí)行,N大于1。

作為優(yōu)選,在步驟S1之前還包括:

步驟S1-1-1,在緩存數(shù)據(jù)庫中檢索所述偽裝請(qǐng)求中的原始鏈接;如果檢索成功,則執(zhí)行步驟S3;如果檢索失敗,則執(zhí)行步驟S1;

其中,所述緩存數(shù)據(jù)庫存儲(chǔ)在緩存時(shí)間內(nèi)處理的偽裝請(qǐng)求信息,所述偽裝請(qǐng)求信息至少包括原始鏈接信息、其對(duì)應(yīng)的偽裝鏈接信息、以及所述偽裝請(qǐng)求信息的存儲(chǔ)時(shí)間;所述緩存數(shù)據(jù)庫中,存儲(chǔ)時(shí)間超過緩存時(shí)間的偽裝請(qǐng)求信息將被刪除。

作為優(yōu)選,還包括:步驟S4,偽裝鏈接解析單元根據(jù)解析請(qǐng)求中的偽裝鏈接在所述偽裝數(shù)據(jù)庫中檢索對(duì)應(yīng)的原始鏈接,并將所述原始鏈接返回給請(qǐng)求方。

作為優(yōu)選,還包括:步驟S5,網(wǎng)址重定向單元將網(wǎng)址定向請(qǐng)求中的原始鏈接重定向至對(duì)應(yīng)的網(wǎng)址。

本發(fā)明旨在從應(yīng)用入口也就是直接呈現(xiàn)給用戶的URL地址入手,旨在通過隱藏關(guān)鍵信息后得到短URL地址的轉(zhuǎn)換方法,降低網(wǎng)絡(luò)應(yīng)用遭受惡意攻擊的概率及增加攻擊成本,同時(shí)提出適應(yīng)于高并發(fā)環(huán)境下的解決方法及路徑。

附圖說明

附圖1本發(fā)明實(shí)施例一的鏈接偽裝系統(tǒng)示意圖。

附圖2本發(fā)明實(shí)施例二的鏈接偽裝系統(tǒng)示意圖。

附圖3本發(fā)明實(shí)施例三的鏈接偽裝系統(tǒng)示意圖。

附圖4本發(fā)明實(shí)施例一和實(shí)施例二的鏈接偽裝方法流程圖。

附圖5本發(fā)明實(shí)施例三的鏈接偽裝方法流程圖。

附圖6圖4和圖5中步驟S1的流程圖。

具體實(shí)施方式

以下具體實(shí)施例僅僅是對(duì)本發(fā)明的解釋,其并不是對(duì)本發(fā)明的限制,本領(lǐng)域技術(shù)人員在閱讀完本說明書后可以根據(jù)需要對(duì)本實(shí)施例做出沒有創(chuàng)造性貢獻(xiàn)的修改,但只要在本發(fā)明的權(quán)利要求范圍內(nèi)都受到專利法的保護(hù)。雖然附圖中顯示了本公開的示例性實(shí)施例,然而當(dāng)然可以理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

本發(fā)明旨在從應(yīng)用入口也就是直接呈現(xiàn)給用戶的URL地址入手,旨在通過隱藏關(guān)鍵信息后得到短URL地址的轉(zhuǎn)換方法,降低網(wǎng)絡(luò)應(yīng)用遭受惡意攻擊的概率及增加攻擊成本,同時(shí)提出適應(yīng)于高并發(fā)環(huán)境下的解決方法及路徑。

實(shí)施例一

如圖1所示,一種鏈接偽裝系統(tǒng),包括偽裝鏈接生成單元、偽裝數(shù)據(jù)庫、偽裝鏈接解析單元以及網(wǎng)址重定向單元。偽裝鏈接生成單元用于將偽裝請(qǐng)求中的原始鏈接轉(zhuǎn)換成對(duì)應(yīng)的偽裝鏈接,存儲(chǔ)原始鏈接與偽裝鏈接的映射關(guān)系至偽裝數(shù)據(jù)庫并且將偽裝鏈接返回給請(qǐng)求方。

偽裝鏈接生成單元接收并相應(yīng)請(qǐng)求端發(fā)送的偽裝鏈接生成請(qǐng)求。具體的,偽裝鏈接生成單元包括放號(hào)單元和編碼單元。放號(hào)單元具有兩個(gè),每個(gè)放號(hào)單元還包括一計(jì)算單元。放號(hào)單元A的號(hào)值初始值為0,放號(hào)單元B的號(hào)值初始值為1。對(duì)于每一個(gè)偽裝鏈接生成請(qǐng)求,放號(hào)單元將號(hào)值分配給該偽裝鏈接生成請(qǐng)求作為該偽裝鏈接生成請(qǐng)求的唯一標(biāo)識(shí)并發(fā)送給編碼單元。隨后,放號(hào)單元的計(jì)算單元將放號(hào)單元的號(hào)值遞增2。編碼單元具有一個(gè),其包括用于接收來自放號(hào)單元的作為偽裝鏈接生成請(qǐng)求的唯一標(biāo)識(shí)的號(hào)值的隊(duì)列。編碼單元依次將隊(duì)列中的號(hào)值轉(zhuǎn)換為62進(jìn)制(a-zA-Z0-9)。例如:放號(hào)單元A接收到的第一次偽裝鏈接生成請(qǐng)求時(shí),放號(hào)單元的號(hào)值為0,對(duì)應(yīng)62進(jìn)制為a;放號(hào)單元A接收到的第二次偽裝鏈接生成請(qǐng)求時(shí)放號(hào)器的值為2,對(duì)應(yīng)62進(jìn)制為b;放號(hào)單元A第5001次請(qǐng)求時(shí)放號(hào)器的值為10000,對(duì)應(yīng)62進(jìn)制為sBc。

如果將偽裝鏈接生成服務(wù)作為單機(jī)進(jìn)行部署,會(huì)有下述缺點(diǎn):

一是性能不足,不足以承受海量的并發(fā)訪問;

二是成為系統(tǒng)單點(diǎn),如果這臺(tái)機(jī)器宕機(jī)則導(dǎo)致整套服務(wù)不可用。

為了解決上述問題,可以將系統(tǒng)集群化,進(jìn)行“分片”。利用數(shù)據(jù)庫分片的設(shè)計(jì)思想,通過部署多個(gè)放號(hào)單元實(shí)例,每個(gè)放號(hào)單元實(shí)例負(fù)責(zé)特定號(hào)段的發(fā)號(hào),例如:本實(shí)施例中放號(hào)單元A負(fù)責(zé)分配偶數(shù)段的號(hào)值,放號(hào)單元B負(fù)責(zé)分配奇數(shù)段的號(hào)值。即避免了號(hào)值的重復(fù),又能夠保證請(qǐng)求方的偽裝鏈接請(qǐng)求能夠并發(fā)的被響應(yīng),能夠良好的適應(yīng)高并發(fā)環(huán)境。

偽裝鏈接解析單元,偽裝鏈接解析單元用于根據(jù)解析請(qǐng)求中的偽裝鏈接在偽裝數(shù)據(jù)庫中檢索對(duì)應(yīng)的原始鏈接,并將原始鏈接返回給請(qǐng)求方。原始鏈接-偽裝鏈接映射關(guān)系可以Key-Value形式存儲(chǔ)在偽裝數(shù)據(jù)庫中,其中,偽裝數(shù)據(jù)庫做好為鍵值(Key-Value)存儲(chǔ)的NoSQL非關(guān)系型數(shù)據(jù)庫。NoSQL數(shù)據(jù)庫并沒有一個(gè)統(tǒng)一的架構(gòu),便于解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類的使用環(huán)境。這種類型的數(shù)據(jù)庫中,數(shù)據(jù)無結(jié)構(gòu)化,最好將偽裝地址作為Key值,便于數(shù)據(jù)庫的快速檢索。

網(wǎng)址重定向單元,網(wǎng)址重定向單元將網(wǎng)址定向請(qǐng)求中的原始鏈接重定向至對(duì)應(yīng)的網(wǎng)址。網(wǎng)址重定向單元可以通過http301進(jìn)行重定向,也可以通過http302進(jìn)行重定向。http301和http302都是HTTP狀態(tài)編碼,都代表這某個(gè)URL發(fā)生了轉(zhuǎn)移,對(duì)于用戶來說沒有區(qū)別,看到的效果都是一個(gè)跳轉(zhuǎn),瀏覽器中的舊URL變成了新的URL。不同之處在于:

301redirect:301代表永久性轉(zhuǎn)移。

302redirect:302代表暫時(shí)性轉(zhuǎn)移。

采用http302進(jìn)行網(wǎng)址重定向可以額外的對(duì)網(wǎng)址的點(diǎn)擊次數(shù)等信息進(jìn)行統(tǒng)計(jì),因此,優(yōu)選的采用http302重定向。

如圖2所示,基于上述鏈接偽裝系統(tǒng)的偽裝方法的流程包括:

步驟S1,偽裝鏈接生成。

偽裝鏈接生成單元將偽裝請(qǐng)求中的原始鏈接轉(zhuǎn)換成對(duì)應(yīng)的偽裝鏈接,存儲(chǔ)原始鏈接與偽裝鏈接的映射關(guān)系至偽裝數(shù)據(jù)庫并且將偽裝鏈接返回值請(qǐng)求方。具體包括步驟:

步驟S1-1,偽裝鏈接生成單元的放號(hào)單元將其號(hào)值分配給偽裝請(qǐng)求作為偽裝請(qǐng)求的唯一標(biāo)識(shí),并且由放號(hào)單元的計(jì)算單元將號(hào)值遞增2;

步驟S1-2,偽裝鏈接生成單元的編碼單元按照預(yù)定的編碼規(guī)則將唯一標(biāo)識(shí)轉(zhuǎn)換為偽裝鏈接;

步驟S2,偽裝數(shù)據(jù)存儲(chǔ)。

偽裝鏈接生成單元將步驟S1中生成的原始鏈接與偽裝鏈接的映射關(guān)系存儲(chǔ)至偽裝數(shù)據(jù)庫,并將偽裝鏈接作為鍵值(Key),同時(shí)將原始鏈接作為該鍵值對(duì)應(yīng)的值(Value)。

步驟S3,將偽裝鏈接返回至偽裝請(qǐng)求的請(qǐng)求方。

步驟S4,偽裝鏈接解析單元根據(jù)解析請(qǐng)求中的偽裝鏈接在偽裝數(shù)據(jù)庫中檢索對(duì)應(yīng)的原始鏈接,并將原始鏈接返回給請(qǐng)求方。偽裝數(shù)據(jù)庫中的原始鏈接與偽裝鏈接的映射關(guān)系以長(zhǎng)度相對(duì)較短的偽裝鏈接作為鍵值被存儲(chǔ),檢索更加方便、快捷。

步驟S5,網(wǎng)址重定向單元將網(wǎng)址重定向請(qǐng)求中的原始鏈接重定向至對(duì)應(yīng)的網(wǎng)址。

其中,步驟S1在2個(gè)放號(hào)單元中分別執(zhí)行。放號(hào)單元A負(fù)責(zé)偶數(shù)的號(hào)值的分配,放號(hào)單元B負(fù)責(zé)奇數(shù)的號(hào)值的分配。避免了發(fā)號(hào)單元成為整個(gè)偽裝鏈接系統(tǒng)的瓶頸,提高對(duì)高并發(fā)環(huán)境的適應(yīng)。

實(shí)施例二

如圖3所示,一種鏈接偽裝系統(tǒng),包括偽裝鏈接生成單元、偽裝數(shù)據(jù)庫、偽裝鏈接解析單元以及網(wǎng)址重定向單元。偽裝鏈接生成單元用于將偽裝請(qǐng)求中的原始鏈接轉(zhuǎn)換成對(duì)應(yīng)的偽裝鏈接,存儲(chǔ)原始鏈接與偽裝鏈接的映射關(guān)系至偽裝數(shù)據(jù)庫并且將偽裝鏈接返回給請(qǐng)求方。

偽裝鏈接生成單元接收并相應(yīng)請(qǐng)求端發(fā)送的偽裝鏈接生成請(qǐng)求。具體的,偽裝鏈接生成單元包括三個(gè)放號(hào)單元、以及分別與三個(gè)放號(hào)單元一一對(duì)應(yīng)的編碼單元。放號(hào)單元具有三個(gè),每個(gè)放號(hào)單元還包括一計(jì)算單元。放號(hào)單元A的號(hào)值初始值為0,放號(hào)單元B的號(hào)值初始值為1,放號(hào)單元C的初始值為2。編碼單元A與放號(hào)單元A對(duì)應(yīng),編碼單元B\與放號(hào)單元B對(duì)應(yīng),編碼單元C與放號(hào)單元C對(duì)應(yīng)。對(duì)于每一個(gè)偽裝鏈接生成請(qǐng)求,放號(hào)單元將號(hào)值分配給該偽裝鏈接生成請(qǐng)求作為該偽裝鏈接生成請(qǐng)求的唯一標(biāo)識(shí)并發(fā)送給對(duì)應(yīng)的編碼單元。隨后,放號(hào)單元的計(jì)算單元將放號(hào)單元的號(hào)值遞增3。編碼單元包括用于接收來自放號(hào)單元的作為偽裝鏈接生成請(qǐng)求的唯一標(biāo)識(shí)的號(hào)值的隊(duì)列。編碼單元依次將隊(duì)列中的號(hào)值轉(zhuǎn)換為62進(jìn)制(a-zA-Z0-9)。例如:放號(hào)單元A接收到的第一次偽裝鏈接生成請(qǐng)求時(shí),放號(hào)單元的號(hào)值為0,對(duì)應(yīng)62進(jìn)制為a;放號(hào)單元A接收到的第二次偽裝鏈接生成請(qǐng)求時(shí)放號(hào)器的值為3,對(duì)應(yīng)62進(jìn)制為C。

如果將偽裝鏈接生成服務(wù)作為單機(jī)進(jìn)行部署,會(huì)有下述缺點(diǎn):

一是性能不足,不足以承受海量的并發(fā)訪問;

二是成為系統(tǒng)單點(diǎn),如果這臺(tái)機(jī)器宕機(jī)則導(dǎo)致整套服務(wù)不可用。

為了解決上述問題,可以將系統(tǒng)集群化,進(jìn)行“分片”。利用數(shù)據(jù)庫分片的設(shè)計(jì)思想,通過部署多個(gè)放號(hào)單元實(shí)例,每個(gè)放號(hào)單元實(shí)例負(fù)責(zé)特定號(hào)段的發(fā)號(hào),例如:本實(shí)施例中放號(hào)單元A負(fù)責(zé)分配以0作為初始值為,步進(jìn)為3的號(hào)值;放號(hào)單元B負(fù)責(zé)分配以0為初始值,步進(jìn)為3的號(hào)值;放號(hào)單元C負(fù)責(zé)分配以2為初始值,步進(jìn)為3的號(hào)值。并且為各放號(hào)單元配置一相應(yīng)的編碼單元,提高了偽裝鏈接生成單元的響應(yīng)速度,即避免了號(hào)值的重復(fù),又能夠保證請(qǐng)求方的偽裝鏈接請(qǐng)求能夠并發(fā)的被響應(yīng),能夠良好的適應(yīng)高并發(fā)環(huán)境。

偽裝鏈接解析單元,偽裝鏈接解析單元用于根據(jù)解析請(qǐng)求中的偽裝鏈接在偽裝數(shù)據(jù)庫中檢索對(duì)應(yīng)的原始鏈接,并將原始鏈接返回給請(qǐng)求方。原始鏈接-偽裝鏈接映射關(guān)系可以Key-Value形式存儲(chǔ)在偽裝數(shù)據(jù)庫中,其中,偽裝數(shù)據(jù)庫做好為鍵值(Key-Value)存儲(chǔ)的NoSQL非關(guān)系型數(shù)據(jù)庫。NoSQL數(shù)據(jù)庫并沒有一個(gè)統(tǒng)一的架構(gòu),便于解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類的使用環(huán)境。這種類型的數(shù)據(jù)庫中,數(shù)據(jù)無結(jié)構(gòu)化,最好將偽裝地址作為Key值,便于數(shù)據(jù)庫的快速檢索。

網(wǎng)址重定向單元,網(wǎng)址重定向單元將網(wǎng)址定向請(qǐng)求中的原始鏈接重定向至對(duì)應(yīng)的網(wǎng)址。網(wǎng)址重定向單元可以通過http301進(jìn)行重定向,也可以通過http302進(jìn)行重定向。http301和http302都是HTTP狀態(tài)編碼,都代表這某個(gè)URL發(fā)生了轉(zhuǎn)移,對(duì)于用戶來說沒有區(qū)別,看到的效果都是一個(gè)跳轉(zhuǎn),瀏覽器中的舊URL變成了新的URL。不同之處在于:

301redirect:301代表永久性轉(zhuǎn)移。

302redirect:302代表暫時(shí)性轉(zhuǎn)移。

采用http302進(jìn)行網(wǎng)址重定向可以額外的對(duì)網(wǎng)址的點(diǎn)擊次數(shù)等信息進(jìn)行統(tǒng)計(jì),因此,優(yōu)選的采用http302重定向。

如圖4所示,基于上述鏈接偽裝系統(tǒng)的偽裝方法的流程包括:

步驟S1,偽裝鏈接生成。

偽裝鏈接生成單元將偽裝請(qǐng)求中的原始鏈接轉(zhuǎn)換成對(duì)應(yīng)的偽裝鏈接,存儲(chǔ)原始鏈接與偽裝鏈接的映射關(guān)系至偽裝數(shù)據(jù)庫并且將偽裝鏈接返回值請(qǐng)求方。具體包括步驟:

步驟S1-1,偽裝鏈接生成單元的放號(hào)單元將其號(hào)值分配給偽裝請(qǐng)求作為偽裝請(qǐng)求的唯一標(biāo)識(shí),并且由放號(hào)單元的計(jì)算單元將號(hào)值遞增3;

步驟S1-2,偽裝鏈接生成單元的編碼單元按照預(yù)定的編碼規(guī)則將唯一標(biāo)識(shí)轉(zhuǎn)換為偽裝鏈接;

步驟S2,偽裝數(shù)據(jù)存儲(chǔ)。

偽裝鏈接生成單元將步驟S1中生成的原始鏈接與偽裝鏈接的映射關(guān)系存儲(chǔ)至偽裝數(shù)據(jù)庫,并將偽裝鏈接作為鍵值(Key),同時(shí)將原始鏈接作為該鍵值對(duì)應(yīng)的值(Value)。

步驟S3,將偽裝鏈接返回至偽裝請(qǐng)求的請(qǐng)求方。

步驟S4,偽裝鏈接解析單元根據(jù)解析請(qǐng)求中的偽裝鏈接在偽裝數(shù)據(jù)庫中檢索對(duì)應(yīng)的原始鏈接,并將原始鏈接返回給請(qǐng)求方。偽裝數(shù)據(jù)庫中的原始鏈接與偽裝鏈接的映射關(guān)系以長(zhǎng)度相對(duì)較短的偽裝鏈接作為鍵值被存儲(chǔ),檢索更加方便、快捷。

步驟S5,網(wǎng)址重定向單元將網(wǎng)址重定向請(qǐng)求中的原始鏈接重定向至對(duì)應(yīng)的網(wǎng)址。

其中,步驟S1在3個(gè)放號(hào)單元中分別執(zhí)行。放號(hào)單元A負(fù)責(zé)分配以0作為初始值為,步進(jìn)為3的號(hào)值;放號(hào)單元B負(fù)責(zé)分配以0為初始值,步進(jìn)為3的號(hào)值;放號(hào)單元C負(fù)責(zé)分配以2為初始值,步進(jìn)為3的號(hào)值。編碼單元A、編碼單元B和編碼單元C分別將與其對(duì)應(yīng)的放號(hào)單元分配的號(hào)值轉(zhuǎn)換為相應(yīng)的62進(jìn)制的長(zhǎng)度較短的偽裝鏈接,將避免了發(fā)號(hào)單元成為整個(gè)偽裝鏈接系統(tǒng)的瓶頸,提高對(duì)高并發(fā)環(huán)境的適應(yīng)。

實(shí)施例三

如圖5,一種鏈接偽裝系統(tǒng),包括偽裝鏈接生成單元、偽裝數(shù)據(jù)庫、偽裝鏈接解析單元以及網(wǎng)址重定向單元。偽裝鏈接生成單元用于將偽裝請(qǐng)求中的原始鏈接轉(zhuǎn)換成對(duì)應(yīng)的偽裝鏈接,存儲(chǔ)原始鏈接與偽裝鏈接的映射關(guān)系至偽裝數(shù)據(jù)庫并且將偽裝鏈接返回給請(qǐng)求方。

偽裝鏈接生成單元接收并相應(yīng)請(qǐng)求端發(fā)送的偽裝鏈接生成請(qǐng)求。具體的,偽裝鏈接生成單元包括放號(hào)單元、編碼單元、檢索單元、緩存清理單元以及緩存數(shù)據(jù)庫。放號(hào)單元具有兩個(gè),每個(gè)放號(hào)單元還包括一計(jì)算單元。放號(hào)單元A的號(hào)值初始值為0,放號(hào)單元B的號(hào)值初始值為1。對(duì)于每一個(gè)偽裝鏈接生成請(qǐng)求,放號(hào)單元將號(hào)值分配給該偽裝鏈接生成請(qǐng)求作為該偽裝鏈接生成請(qǐng)求的唯一標(biāo)識(shí)并發(fā)送給編碼單元。隨后,放號(hào)單元的計(jì)算單元將放號(hào)單元的號(hào)值遞增2。編碼單元具有一個(gè),其包括用于接收來自放號(hào)單元的作為偽裝鏈接生成請(qǐng)求的唯一標(biāo)識(shí)的號(hào)值的隊(duì)列。編碼單元依次將隊(duì)列中的號(hào)值轉(zhuǎn)換為62進(jìn)制(a-zA-Z0-9)。例如:放號(hào)單元A接收到的第一次偽裝鏈接生成請(qǐng)求時(shí),放號(hào)單元的號(hào)值為0,對(duì)應(yīng)62進(jìn)制為a;放號(hào)單元A接收到的第二次偽裝鏈接生成請(qǐng)求時(shí)放號(hào)器的值為2,對(duì)應(yīng)62進(jìn)制為b;放號(hào)單元A第5001次請(qǐng)求時(shí)放號(hào)器的值為10000,對(duì)應(yīng)62進(jìn)制為sBc。

如果將偽裝鏈接生成服務(wù)作為單機(jī)進(jìn)行部署,會(huì)有下述缺點(diǎn):

一是性能不足,不足以承受海量的并發(fā)訪問;

二是成為系統(tǒng)單點(diǎn),如果這臺(tái)機(jī)器宕機(jī)則導(dǎo)致整套服務(wù)不可用。

為了解決上述問題,可以將系統(tǒng)集群化,進(jìn)行“分片”。利用數(shù)據(jù)庫分片的設(shè)計(jì)思想,通過部署多個(gè)放號(hào)單元實(shí)例,每個(gè)放號(hào)單元實(shí)例負(fù)責(zé)特定號(hào)段的發(fā)號(hào),例如:本實(shí)施例中放號(hào)單元A負(fù)責(zé)分配偶數(shù)段的號(hào)值,放號(hào)單元B負(fù)責(zé)分配奇數(shù)段的號(hào)值。即避免了號(hào)值的重復(fù),又能夠保證請(qǐng)求方的偽裝鏈接請(qǐng)求能夠并發(fā)的被響應(yīng),能夠良好的適應(yīng)高并發(fā)環(huán)境。

緩存數(shù)據(jù)庫用于存儲(chǔ)在緩存時(shí)間內(nèi)處理的偽裝請(qǐng)求信息,偽裝請(qǐng)求信息包括原始鏈接信息、其對(duì)應(yīng)的偽裝鏈接信息、以及該偽裝請(qǐng)求信息的存儲(chǔ)時(shí)間。檢索單元在緩存數(shù)據(jù)庫中檢索偽裝請(qǐng)求中的原始鏈接,如果檢索成功則放號(hào)單元和編碼單元不響應(yīng)偽裝請(qǐng)求,直接將檢索結(jié)果中與該原始鏈接對(duì)應(yīng)的偽裝鏈接作為返回至偽裝請(qǐng)求的請(qǐng)求方。如果檢索失敗則放號(hào)單元和放號(hào)單元響應(yīng)偽裝請(qǐng)求,由放號(hào)單元為該偽裝請(qǐng)求分配唯一標(biāo)識(shí),并且由編碼單元將該唯一標(biāo)識(shí)轉(zhuǎn)換為62進(jìn)制的較短長(zhǎng)度的偽裝鏈接,并返回至偽裝請(qǐng)求的請(qǐng)求方。同時(shí),將按照當(dāng)前的時(shí)間更新該偽裝請(qǐng)求的存儲(chǔ)時(shí)間。

緩存清理單元,緩存清理單元定時(shí)核查緩存數(shù)據(jù)庫中各偽裝請(qǐng)求信息的存儲(chǔ)時(shí)間是否超過緩存時(shí)間(本實(shí)施例中為2小時(shí)),并將超過緩存時(shí)間的偽裝請(qǐng)求信息從緩存數(shù)據(jù)庫中刪除。實(shí)施例一或二中的短鏈接生成算法,對(duì)于同一個(gè)原始鏈接,每次生成的偽裝鏈接是不同的,這樣會(huì)導(dǎo)致浪費(fèi)存儲(chǔ)空間,因?yàn)樾枰鎯?chǔ)多個(gè)偽裝鏈接到同一個(gè)原始鏈接的映射。本發(fā)明中,將緩存時(shí)間內(nèi)的具有相同原始鏈接的偽裝請(qǐng)求都映射成同一個(gè)偽裝鏈接,這樣可以節(jié)省存儲(chǔ)空間,同時(shí)提高查詢命中率。減少了系統(tǒng)的冗余,同時(shí)也提高的頻繁的偽裝請(qǐng)求的響應(yīng)時(shí)間。

偽裝鏈接解析單元,偽裝鏈接解析單元用于根據(jù)解析請(qǐng)求中的偽裝鏈接在偽裝數(shù)據(jù)庫中檢索對(duì)應(yīng)的原始鏈接,并將原始鏈接返回給請(qǐng)求方。原始鏈接-偽裝鏈接映射關(guān)系可以Key-Value形式存儲(chǔ)在偽裝數(shù)據(jù)庫中,其中,偽裝數(shù)據(jù)庫做好為鍵值(Key-Value)存儲(chǔ)的NoSQL非關(guān)系型數(shù)據(jù)庫。NoSQL數(shù)據(jù)庫并沒有一個(gè)統(tǒng)一的架構(gòu),便于解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類的使用環(huán)境。這種類型的數(shù)據(jù)庫中,數(shù)據(jù)無結(jié)構(gòu)化,最好將偽裝地址作為Key值,便于數(shù)據(jù)庫的快速檢索。

網(wǎng)址重定向單元,網(wǎng)址重定向單元將網(wǎng)址定向請(qǐng)求中的原始鏈接重定向至對(duì)應(yīng)的網(wǎng)址。網(wǎng)址重定向單元可以通過http301進(jìn)行重定向,也可以通過http302進(jìn)行重定向。http301和http302都是HTTP狀態(tài)編碼,都代表這某個(gè)URL發(fā)生了轉(zhuǎn)移,對(duì)于用戶來說沒有區(qū)別,看到的效果都是一個(gè)跳轉(zhuǎn),瀏覽器中的舊URL變成了新的URL。不同之處在于:

301redirect:301代表永久性轉(zhuǎn)移。

302redirect:302代表暫時(shí)性轉(zhuǎn)移。

采用http302進(jìn)行網(wǎng)址重定向可以額外的對(duì)網(wǎng)址的點(diǎn)擊次數(shù)等信息進(jìn)行統(tǒng)計(jì),因此,優(yōu)選的采用http302重定向。

如圖6所示,基于上述鏈接偽裝系統(tǒng)的偽裝方法的流程包括:

步驟S1-1-1,檢索單元在緩存數(shù)據(jù)庫中檢索偽裝請(qǐng)求中的原始鏈接;如果檢索成功,則執(zhí)行步驟S3;如果檢索失敗,則執(zhí)行步驟S2。

步驟S1,偽裝鏈接生成。偽裝鏈接生成單元將偽裝請(qǐng)求中的原始鏈接轉(zhuǎn)換成對(duì)應(yīng)的偽裝鏈接,存儲(chǔ)原始鏈接與偽裝鏈接的映射關(guān)系至偽裝數(shù)據(jù)庫并且將偽裝鏈接返回值請(qǐng)求方。具體包括步驟:

步驟S1-1,偽裝鏈接生成單元的放號(hào)單元將其號(hào)值分配給偽裝請(qǐng)求作為偽裝請(qǐng)求的唯一標(biāo)識(shí),并且由放號(hào)單元的計(jì)算單元將號(hào)值遞增2;

步驟S1-2,偽裝鏈接生成單元的編碼單元按照預(yù)定的編碼規(guī)則將唯一標(biāo)識(shí)轉(zhuǎn)換為偽裝鏈接;

步驟S2,偽裝數(shù)據(jù)存儲(chǔ)。偽裝鏈接生成單元將步驟S1中生成的原始鏈接與偽裝鏈接的映射關(guān)系存儲(chǔ)至偽裝數(shù)據(jù)庫,并將偽裝鏈接作為鍵值(Key),同時(shí)將原始鏈接作為該鍵值對(duì)應(yīng)的值(Value)。

步驟S3,將偽裝鏈接返回至偽裝請(qǐng)求的請(qǐng)求方。

步驟S4,偽裝鏈接解析單元根據(jù)解析請(qǐng)求中的偽裝鏈接在偽裝數(shù)據(jù)庫中檢索對(duì)應(yīng)的原始鏈接,并將原始鏈接返回給請(qǐng)求方。偽裝數(shù)據(jù)庫中的原始鏈接與偽裝鏈接的映射關(guān)系以長(zhǎng)度相對(duì)較短的偽裝鏈接作為鍵值被存儲(chǔ),檢索更加方便、快捷。

步驟S5,網(wǎng)址重定向單元將網(wǎng)址重定向請(qǐng)求中的原始鏈接重定向至對(duì)應(yīng)的網(wǎng)址。

其中,步驟S1在2個(gè)放號(hào)單元中分別執(zhí)行。放號(hào)單元A負(fù)責(zé)偶數(shù)的號(hào)值的分配,放號(hào)單元B負(fù)責(zé)奇數(shù)的號(hào)值的分配。避免了發(fā)號(hào)單元成為整個(gè)偽裝鏈接系統(tǒng)的瓶頸,提高對(duì)高并發(fā)環(huán)境的適應(yīng)。

本發(fā)明旨在從應(yīng)用入口也就是直接呈現(xiàn)給用戶的URL地址入手,旨在通過隱藏關(guān)鍵信息后得到短URL地址的轉(zhuǎn)換方法,降低網(wǎng)絡(luò)應(yīng)用遭受惡意攻擊的概率及增加攻擊成本,同時(shí)提出適應(yīng)于高并發(fā)環(huán)境下的解決方法及路徑。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1