本發(fā)明涉及一種信息安全技術(shù)領(lǐng)域,特別是涉及一種基于業(yè)務(wù)數(shù)據(jù)的爬蟲(chóng)識(shí)別攔截方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)旅游的不斷發(fā)展,行業(yè)競(jìng)爭(zhēng)不可避免,在這里,各家電子旅行平臺(tái)的價(jià)格成為每個(gè)競(jìng)爭(zhēng)對(duì)手都想知道的重要數(shù)據(jù),現(xiàn)有技術(shù)通常是通過(guò)傳入數(shù)據(jù)報(bào)文內(nèi)的cookies(網(wǎng)站數(shù)據(jù)),referer(網(wǎng)站數(shù)據(jù)),sessions(網(wǎng)站數(shù)據(jù)),以及探測(cè)IP(網(wǎng)絡(luò)之間互連的協(xié)議)端口開(kāi)放性來(lái)確認(rèn)對(duì)方的爬蟲(chóng)屬性,并且目前有些在線旅游網(wǎng)站將數(shù)字價(jià)格用圖片以及隨機(jī)數(shù)字代替,但是在現(xiàn)在數(shù)字科技越來(lái)越發(fā)達(dá)的今天,這樣還是阻擋不了高仿真的爬蟲(chóng)在不停獲取網(wǎng)站的核心價(jià)格數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是為了克服現(xiàn)有技術(shù)中無(wú)法阻擋高仿真的爬蟲(chóng)不停獲取在線旅游網(wǎng)站的核心價(jià)格數(shù)據(jù)的缺陷,提供一種基于業(yè)務(wù)數(shù)據(jù)的爬蟲(chóng)識(shí)別攔截方法及系統(tǒng)。
本發(fā)明是通過(guò)下述技術(shù)方案來(lái)解決上述技術(shù)問(wèn)題的:
本發(fā)明提供了一種基于業(yè)務(wù)數(shù)據(jù)的爬蟲(chóng)識(shí)別攔截方法,其特點(diǎn)在于,包括以下步驟:
S1、實(shí)時(shí)獲取全網(wǎng)站的業(yè)務(wù)數(shù)據(jù);
S2、從業(yè)務(wù)數(shù)據(jù)中獲取可疑的爬蟲(chóng)數(shù)據(jù);
S3、建立IP白名單信息庫(kù),所述IP白名單信息庫(kù)中記錄有允許訪問(wèn)網(wǎng)站的有效IP地址;
S4、判斷可疑的爬蟲(chóng)數(shù)據(jù)的IP地址是否位于所述IP白名單信息庫(kù)中,若判斷為否,則執(zhí)行步驟S5;
S5、將可疑的爬蟲(chóng)數(shù)據(jù)的IP地址發(fā)送至反爬蟲(chóng)數(shù)據(jù)庫(kù);
S6、所述反爬蟲(chóng)數(shù)據(jù)庫(kù)同步接收到的可疑的爬蟲(chóng)數(shù)據(jù)的IP地址;
S7、判斷線上訪問(wèn)爬蟲(chóng)的IP地址是否位于所述反爬蟲(chóng)數(shù)據(jù)庫(kù)中,若判斷為是,則對(duì)線上訪問(wèn)爬蟲(chóng)的IP地址進(jìn)行攔截。
較佳地,步驟S2中通過(guò)對(duì)爬蟲(chóng)數(shù)據(jù)在登錄信息、注冊(cè)頻度信息、IP地址信息、設(shè)備信息、訪問(wèn)URL(統(tǒng)一資源定位符)信息進(jìn)行聚合,判斷出可疑的爬蟲(chóng)數(shù)據(jù)的風(fēng)險(xiǎn)等級(jí);
步驟S7中還根據(jù)可疑的爬蟲(chóng)數(shù)據(jù)的風(fēng)險(xiǎn)等級(jí)進(jìn)行發(fā)送驗(yàn)證碼或禁止訪問(wèn)的操作。
較佳地,步驟S7之后還包括:
S8、記錄并反饋爬蟲(chóng)攔截情況日志。
較佳地,步驟S5中通過(guò)Kafka(一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng))發(fā)送可疑的爬蟲(chóng)數(shù)據(jù),發(fā)送頻率為每分鐘一次。
較佳地,步驟S6中所述反爬蟲(chóng)數(shù)據(jù)庫(kù)的同步頻率為每分鐘一次。
本發(fā)明的目的在于還提供了一種基于業(yè)務(wù)數(shù)據(jù)的爬蟲(chóng)識(shí)別攔截系統(tǒng),其特點(diǎn)在于,包括:
業(yè)務(wù)數(shù)據(jù)獲取模塊,用于實(shí)時(shí)獲取全網(wǎng)站的業(yè)務(wù)數(shù)據(jù);
爬蟲(chóng)數(shù)據(jù)獲取模塊,用于從業(yè)務(wù)數(shù)據(jù)中獲取可疑的爬蟲(chóng)數(shù)據(jù);
信息庫(kù)建立模塊,用于建立IP白名單信息庫(kù),所述IP白名單信息庫(kù)中記錄有允許訪問(wèn)網(wǎng)站的有效IP地址;
第一判斷模塊,用于判斷可疑的爬蟲(chóng)數(shù)據(jù)的IP地址是否位于所述IP白名單信息庫(kù)中,若判斷為否,則將可疑的爬蟲(chóng)數(shù)據(jù)的IP地址發(fā)送至反爬蟲(chóng)數(shù)據(jù)庫(kù);
所述反爬蟲(chóng)數(shù)據(jù)庫(kù)用于同步接收到的可疑的爬蟲(chóng)數(shù)據(jù)的IP地址;
爬蟲(chóng)攔截模塊,用于判斷線上訪問(wèn)爬蟲(chóng)的IP地址是否位于所述反爬蟲(chóng)數(shù)據(jù)庫(kù)中,若判斷為是,則對(duì)線上訪問(wèn)爬蟲(chóng)的IP地址進(jìn)行攔截。
較佳地,所述爬蟲(chóng)數(shù)據(jù)獲取模塊用于通過(guò)對(duì)爬蟲(chóng)數(shù)據(jù)在登錄信息、注冊(cè)頻度信息、IP地址信息、設(shè)備信息、訪問(wèn)URL信息進(jìn)行聚合,判斷出可疑的爬蟲(chóng)數(shù)據(jù)的風(fēng)險(xiǎn)等級(jí);
所述爬蟲(chóng)攔截模塊用于根據(jù)可疑的爬蟲(chóng)數(shù)據(jù)的風(fēng)險(xiǎn)等級(jí)進(jìn)行發(fā)送驗(yàn)證碼或禁止訪問(wèn)的操作。
較佳地,所述爬蟲(chóng)識(shí)別攔截系統(tǒng)還包括:
日志記錄模塊,用于記錄并反饋爬蟲(chóng)攔截情況日志。
較佳地,所述第一判斷模塊用于在判斷為否時(shí),通過(guò)Kafka發(fā)送可疑的爬蟲(chóng)數(shù)據(jù),發(fā)送頻率為每分鐘一次。
較佳地,所述反爬蟲(chóng)數(shù)據(jù)庫(kù)的同步頻率為每分鐘一次。
本發(fā)明的積極進(jìn)步效果在于:本發(fā)明以業(yè)務(wù)大數(shù)據(jù)為核心,實(shí)時(shí)監(jiān)控業(yè)務(wù)上爬蟲(chóng)的情況,并根據(jù)業(yè)務(wù)數(shù)據(jù),判斷每個(gè)請(qǐng)求IP的爬蟲(chóng)風(fēng)險(xiǎn)等級(jí),準(zhǔn)實(shí)時(shí)的推送到應(yīng)用防火墻內(nèi),盡可能實(shí)時(shí)攔截爬蟲(chóng)IP,降低業(yè)務(wù)上被爬蟲(chóng)竊取公司商業(yè)定價(jià)體系的可能。
附圖說(shuō)明
圖1為本發(fā)明的較佳實(shí)施例的基于業(yè)務(wù)數(shù)據(jù)的爬蟲(chóng)識(shí)別攔截方法的流程圖。
圖2為本發(fā)明的較佳實(shí)施例的基于業(yè)務(wù)數(shù)據(jù)的爬蟲(chóng)識(shí)別攔截系統(tǒng)的模塊示意圖。
具體實(shí)施方式
下面通過(guò)實(shí)施例的方式進(jìn)一步說(shuō)明本發(fā)明,但并不因此將本發(fā)明限制在所述的實(shí)施例范圍之中。
如圖1所示,本發(fā)明的基于業(yè)務(wù)數(shù)據(jù)的爬蟲(chóng)識(shí)別攔截方法包括以下步驟:
步驟101、實(shí)時(shí)獲取全網(wǎng)站的業(yè)務(wù)數(shù)據(jù);
其中,具體的業(yè)務(wù)數(shù)據(jù)可以包括登錄數(shù)據(jù)、注冊(cè)數(shù)據(jù)等,具體可以通過(guò)在網(wǎng)站的前端頁(yè)面數(shù)據(jù)埋點(diǎn),獲取相關(guān)業(yè)務(wù)數(shù)據(jù),然后進(jìn)行結(jié)構(gòu)化數(shù)據(jù)清洗,提取相關(guān)字段;
步驟102、從業(yè)務(wù)數(shù)據(jù)中獲取可疑的爬蟲(chóng)數(shù)據(jù),并且通過(guò)對(duì)爬蟲(chóng)數(shù)據(jù)在登錄信息、注冊(cè)頻度信息、IP地址信息、設(shè)備信息、訪問(wèn)URL信息進(jìn)行聚合,判斷出可疑的爬蟲(chóng)數(shù)據(jù)的風(fēng)險(xiǎn)等級(jí)
步驟103、建立IP白名單信息庫(kù),所述IP白名單信息庫(kù)中記錄有允許訪問(wèn)網(wǎng)站的有效IP地址;
步驟104、判斷可疑的爬蟲(chóng)數(shù)據(jù)的IP地址是否位于所述IP白名單信息庫(kù)中,若是,則結(jié)束流程,若否,則執(zhí)行步驟105;
步驟105、將可疑的爬蟲(chóng)數(shù)據(jù)的IP地址發(fā)送至反爬蟲(chóng)數(shù)據(jù)庫(kù);
步驟105中具體可通過(guò)Kafka發(fā)送可疑的爬蟲(chóng)數(shù)據(jù),發(fā)送頻率優(yōu)選地為每分鐘一次。
步驟106、所述反爬蟲(chóng)數(shù)據(jù)庫(kù)同步接收到的可疑的爬蟲(chóng)數(shù)據(jù)的IP地址;
其中,優(yōu)選地,所述反爬蟲(chóng)數(shù)據(jù)庫(kù)的同步頻率為每分鐘一次,除了IP地址之外,還可以包括有效位、有效時(shí)間、風(fēng)險(xiǎn)等級(jí)等。
步驟107、判斷線上訪問(wèn)爬蟲(chóng)的IP地址是否位于所述反爬蟲(chóng)數(shù)據(jù)庫(kù)中,若判斷為是,則對(duì)線上訪問(wèn)爬蟲(chóng)的IP地址進(jìn)行攔截,并且根據(jù)可疑的爬蟲(chóng)數(shù)據(jù)的風(fēng)險(xiǎn)等級(jí)進(jìn)行發(fā)送驗(yàn)證碼或禁止訪問(wèn)的操作;若判斷為否,則結(jié)束流程。
其中,步驟107中具體可以將線上訪問(wèn)爬蟲(chóng)的IP地址置入應(yīng)用層攔截服務(wù),進(jìn)行IP地址的正式攔截,攔截操作可以每分鐘執(zhí)行一次。
步驟108、記錄并反饋爬蟲(chóng)攔截情況日志,以便事后分析觀察。
本發(fā)明的基于業(yè)務(wù)數(shù)據(jù)的爬蟲(chóng)識(shí)別攔截方法通過(guò)上述的實(shí)施步驟,可以實(shí)現(xiàn):
本發(fā)明運(yùn)用業(yè)務(wù)數(shù)據(jù)來(lái)確定爬蟲(chóng)行為,避免了通過(guò)請(qǐng)求的一些簡(jiǎn)單數(shù)據(jù)特征去甄別,這樣的識(shí)別率相較于傳統(tǒng)的教科書(shū)里的爬蟲(chóng)方案大大提高,且由于這個(gè)方案通過(guò)業(yè)務(wù)數(shù)據(jù)識(shí)別,外部教材基本沒(méi)有提到,傳統(tǒng)反爬方案無(wú)法做到。
并且,本發(fā)明運(yùn)用大數(shù)據(jù)來(lái)計(jì)算每天以及7天內(nèi)的全部數(shù)據(jù)來(lái)追溯確定一些低頻爬蟲(chóng)行為,讓低頻爬蟲(chóng)無(wú)所遁形,原本業(yè)界的方案是通過(guò)每次的日志行為記錄來(lái)單點(diǎn)判斷,相比之下,本發(fā)明的這個(gè)方案極大的提高了爬蟲(chóng)覆蓋面;
由于采用了大數(shù)據(jù)追溯記錄,可以有效的給予IP分爬蟲(chóng)等級(jí),而非以前的非黑即白,可以有效地分出多種不同的處理策略,更加人性化。
本發(fā)明還提供了一種基于業(yè)務(wù)數(shù)據(jù)的爬蟲(chóng)識(shí)別攔截系統(tǒng),如圖2所示,包括業(yè)務(wù)數(shù)據(jù)獲取模塊1、爬蟲(chóng)數(shù)據(jù)獲取模塊2、信息庫(kù)建立模塊3、第一判斷模塊4、反爬蟲(chóng)數(shù)據(jù)庫(kù)5、爬蟲(chóng)攔截模塊6以及日志記錄模塊7;
其中,所述業(yè)務(wù)數(shù)據(jù)獲取模塊1用于實(shí)時(shí)獲取全網(wǎng)站的業(yè)務(wù)數(shù)據(jù);
所述爬蟲(chóng)數(shù)據(jù)獲取模塊2用于從業(yè)務(wù)數(shù)據(jù)中獲取可疑的爬蟲(chóng)數(shù)據(jù);并通過(guò)對(duì)爬蟲(chóng)數(shù)據(jù)在登錄信息、注冊(cè)頻度信息、IP地址信息、設(shè)備信息、訪問(wèn)URL信息進(jìn)行聚合,判斷出可疑的爬蟲(chóng)數(shù)據(jù)的風(fēng)險(xiǎn)等級(jí);
所述信息庫(kù)建立模塊3用于建立IP白名單信息庫(kù),所述IP白名單信息庫(kù)中記錄有允許訪問(wèn)網(wǎng)站的有效IP地址;
所述第一判斷模塊4用于判斷可疑的爬蟲(chóng)數(shù)據(jù)的IP地址是否位于所述IP白名單信息庫(kù)中,若判斷為否,則將可疑的爬蟲(chóng)數(shù)據(jù)的IP地址發(fā)送至反爬蟲(chóng)數(shù)據(jù)庫(kù)5;具體可通過(guò)Kafka發(fā)送可疑的爬蟲(chóng)數(shù)據(jù),發(fā)送頻率為每分鐘一次。
所述反爬蟲(chóng)數(shù)據(jù)庫(kù)5用于同步接收到的可疑的爬蟲(chóng)數(shù)據(jù)的IP地址;具體的同步頻率可以為每分鐘一次。
所述爬蟲(chóng)攔截模塊6用于判斷線上訪問(wèn)爬蟲(chóng)的IP地址是否位于所述反爬蟲(chóng)數(shù)據(jù)庫(kù)中,若判斷為是,則對(duì)線上訪問(wèn)爬蟲(chóng)的IP地址進(jìn)行攔截,并根據(jù)可疑的爬蟲(chóng)數(shù)據(jù)的風(fēng)險(xiǎn)等級(jí)進(jìn)行發(fā)送驗(yàn)證碼或禁止訪問(wèn)的操作;
所述日志記錄模塊則用于記錄并反饋爬蟲(chóng)攔截情況日志,以便事后分析觀察。
雖然以上描述了本發(fā)明的具體實(shí)施方式,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說(shuō)明,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求書(shū)限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對(duì)這些實(shí)施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護(hù)范圍。