防止惡意抓取的方法和防護裝置制造方法
【專利摘要】本發(fā)明提供了一種防止惡意抓取的方法和防護裝置,該方法包括:位于網(wǎng)站服務(wù)器側(cè)的防護裝置識別用于抓取所述網(wǎng)站服務(wù)器中資源的抓取請求;判斷所述抓取請求的來源IP地址是否屬于IP地址白名單中的IP地址;如果所述來源IP地址不屬于IP地址白名單中的IP地址,則攔截所述抓取請求。本發(fā)明提供的技術(shù)方案對于偽裝搜索引擎發(fā)起的惡意抓取請求能夠進行有效的攔截。
【專利說明】防止惡意抓取的方法和防護裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種防止惡意抓取的方法和防護裝置。
【背景技術(shù)】
[0002]對網(wǎng)站資源的抓取是指按照預(yù)設(shè)的規(guī)則抓取網(wǎng)站服務(wù)器中的相應(yīng)資源。一般的,針對網(wǎng)站服務(wù)器中資源的抓取請求主要包括由搜索引擎的爬蟲蜘蛛發(fā)起的正常抓取請求以及由其他非搜索引擎發(fā)起的惡意抓取請求。惡意抓取請求一般涉及到兩種情況,一種是由競爭對手或者黑客發(fā)起的抓取請求,通過高并發(fā)長時間不間斷的抓取導(dǎo)致網(wǎng)站服務(wù)器超負荷運轉(zhuǎn)最終使網(wǎng)站服務(wù)器癱瘓。這樣的抓取行為會嚴重損害企業(yè)形象。另一種主要是盜取網(wǎng)站服務(wù)器中的原創(chuàng)資源用于轉(zhuǎn)載,這種抓取行為會使網(wǎng)站服務(wù)器中的原創(chuàng)資源的作者的知識產(chǎn)權(quán)遭到侵害。
[0003]由于惡意抓取一般是偽裝成合法的搜索引擎進行抓取,因此現(xiàn)有技術(shù)中對惡意抓取的攔截效果非常不理想。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種有效的防止惡意抓取的方法和防護裝置。
[0005]第一方面,提供了一種防止惡意抓取的防護裝置,包括:
[0006]識別模塊,用于識別用于抓取網(wǎng)站服務(wù)器中的資源的抓取請求;
[0007]判斷模塊,用于判斷所述識別模塊識別的所述抓取請求的來源互聯(lián)網(wǎng)協(xié)議IP地址是否屬于IP地址白名單中的IP地址;
[0008]攔截模塊,用于在所述判斷模塊判斷所述來源IP地址不屬于IP地址白名單中的IP地址,攔截所述抓取請求。
[0009]進一步的,所述識別模塊用于檢測到訪問所述網(wǎng)站服務(wù)器中資源的訪問請求,獲取檢測到的訪問請求中攜帶的用戶代理UA信息和/或引用referer信息;根據(jù)所述UA信息/或referer信息,確定檢測到的訪問請求是否為用于抓取所述網(wǎng)站服務(wù)器中的資源的抓取請求。
[0010]進一步的,還包括:IP地址白名單獲取模塊,用于在所述判斷模塊判斷所述來源IP地址是否屬于IP地址白名單中的IP地址之前,獲取包含搜索引擎域名的搜索引擎域名白名單,對搜索引擎域名白名單中的搜索引擎域名進行反向查詢獲取各個搜索引擎域名的IP地址,得到IP地址白名單。
[0011]進一步的,還包括:上報模塊,用于在所述判斷模塊判斷所述來源IP地址不屬于IP地址白名單中的IP地址時,將所述來源IP地址發(fā)送給服務(wù)器,以使所述服務(wù)器確定所述來源IP地址是否屬于搜索引擎的IP地址。
[0012]進一步的,所述IP地址白名單為由服務(wù)器生成并下發(fā)的白名單。
[0013]再一方面,提供了一種防止惡意抓取的方法,包括:
[0014]位于網(wǎng)站服務(wù)器側(cè)的防護裝置識別用于抓取所述網(wǎng)站服務(wù)器中資源的抓取請求;
[0015]判斷所述抓取請求的來源互聯(lián)網(wǎng)協(xié)議IP地址是否屬于IP地址白名單中的IP地址;
[0016]如果所述來源IP地址不屬于IP地址白名單中的IP地址,則攔截所述抓取請求。
[0017]進一步的,所述位于網(wǎng)站服務(wù)器側(cè)的防護裝置識別用于抓取所述網(wǎng)站服務(wù)器中的資源的抓取請求,包括:
[0018]所述防護裝置檢測用于訪問所述網(wǎng)站服務(wù)器中資源的訪問請求,獲取檢測到的訪問請求中攜帶的用戶代理UA信息和/或引用referer信息;根據(jù)所述UA信息和/或referer信息,判斷檢測到的訪問請求是否為用于抓取所述網(wǎng)站服務(wù)器中的資源的抓取請求。
[0019]進一步的,所述判斷所述抓取請求的來源IP地址是否屬于IP地址白名單中的IP地址之前,所述方法還包括:
[0020]獲取包括搜索弓I擎域名的搜索引擎域名白名單,對搜索弓I擎域名白名單中的搜索引擎域名進行反向查詢獲取各個搜索引擎域名的IP地址,生成IP地址白名單。
[0021]進一步的,所述方法還包括:如果所述來源IP地址不屬于IP地址白名單中的IP地址,將所述來源IP地址發(fā)送至服務(wù)器,以使所述服務(wù)器確定所述來源IP地址是否屬于搜索引擎的IP地址。
[0022]進一步的,所述IP地址白名單為由服務(wù)器生成并下發(fā)的白名單。
[0023]本發(fā)明中,位于網(wǎng)站服務(wù)器側(cè)的防護裝置識別用于抓取所述網(wǎng)站服務(wù)器中的資源的抓取請求;判斷所述抓取請求的來源IP地址是否為IP地址白名單中的IP地址;如果所述來源IP地址不是IP地址白名單中的IP地址,攔截所述抓取請求。本發(fā)明提供的技術(shù)方案對于偽裝搜索引擎發(fā)起的惡意抓取請求能夠進行有效的攔截。
【專利附圖】
【附圖說明】
[0024]圖1為本發(fā)明的一個實施例提供的一種防止惡意抓取的方法的流程示意圖;
[0025]圖2為本發(fā)明的一個實施例提供的一種防止惡意抓取的方法的流程示意圖;
[0026]圖3為圖2所示的方法中獲取IP地址白名單的流程示意圖;
[0027]圖4為本發(fā)明的一個實施例提供的一種防護裝置的結(jié)構(gòu)示意圖;
[0028]圖5為本發(fā)明的一個實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。
【具體實施方式】
[0029]下面結(jié)合附圖和實施例,對本發(fā)明的【具體實施方式】作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0030]圖1為本發(fā)明的一個實施例提供的一種防止惡意抓取的方法的流程示意圖,該方法可由位于網(wǎng)站服務(wù)器側(cè)的防護裝置執(zhí)行,用于防止對網(wǎng)站服務(wù)器中相應(yīng)資源的惡意抓取,該方法可以包括如下步驟:
[0031]步驟101,識別用于抓取所述網(wǎng)站服務(wù)器中資源的抓取請求;
[0032]步驟102,判斷所述抓取請求的來源IP(Internet Protocol)地址是否屬于IP地址白名單中的IP地址,若是,則轉(zhuǎn)向步驟104 ;若否,則轉(zhuǎn)向步驟103 ;
[0033]步驟103,攔截所述抓取請求。
[0034]步驟104,放行所述抓取請求。
[0035]本發(fā)明實施例中,位于網(wǎng)站服務(wù)器側(cè)的防護裝置識別用于抓取所述網(wǎng)站服務(wù)器中的資源的抓取請求;判斷所述抓取請求的來源IP地址是否為IP地址白名單中的IP地址;如果所述來源IP地址不是IP地址白名單中的IP地址,則攔截所述抓取請求。本發(fā)明提供的技術(shù)方案對于偽裝搜索引擎發(fā)起的惡意抓取請求能夠進行有效的攔截。
[0036]在具體實施時,這里所指的用于抓取所述網(wǎng)站服務(wù)器中資源的抓取請求可以為用于抓取該網(wǎng)站服務(wù)器的特定資源的抓取請求。具體來說,這里的特定資源可以為在該網(wǎng)站服務(wù)器上首次發(fā)表的原創(chuàng)資源,比如一篇新的博文、或者一首原創(chuàng)音樂等。對于這一類的資源在網(wǎng)站服務(wù)器中進行存儲時,可以在其標(biāo)簽信息(一般為其在網(wǎng)站服務(wù)器中的存儲路徑)中添加相應(yīng)的標(biāo)識,用以表示該資源為需要防止惡意抓取的資源。這樣,請求抓取該資源的抓取請求所攜帶的標(biāo)簽信息中也會包含相應(yīng)的標(biāo)識,相應(yīng)的防護裝置根據(jù)該抓取請求中攜帶的標(biāo)簽信息能夠確定該抓取請求所請求的資源為需要防止惡意抓取的資源,進而針對該抓取請求執(zhí)行上述的各個步驟。在一些情況下,非原創(chuàng)的資源一般不需要防止抓取,本發(fā)明實施例提供的方法能夠在有效防止惡意抓取的同時降低防護裝置的資源消耗。
[0037]在步驟101中,防護裝置識別用于抓取所述網(wǎng)站服務(wù)器中資源的抓取請求的方式有多種,比如可以對發(fā)往網(wǎng)站服務(wù)器的訪問請求進行檢測,獲取檢測到的訪問請求中攜帶的UA信息和/或referer信息,根據(jù)檢測到的UA信息和/或referer信息確定該訪問請求是否由搜索引擎發(fā)起,如果是,則認為該訪問請求為是用于抓取網(wǎng)站服務(wù)器中的資源的抓取請求。
[0038]User Agent中文名為用戶,屬于頭域的構(gòu)成項目組,User Agent也簡稱UA。它是一個特別字符串頭,是一種向接見網(wǎng)站供給你所應(yīng)用的瀏覽器類型及版本、操縱體系及版本、瀏覽器內(nèi)核、等信息的標(biāo)識。經(jīng)由過程這個標(biāo)識,用戶所接見的網(wǎng)站可以顯示不合的排版從而為用戶供給更好的體驗或者進行信息統(tǒng)計。如果一個訪問請求是搜索引擎發(fā)起的抓取請求,那么其中攜帶的UA信息中會攜帶該搜索引擎的域名字段,比如來自一個特定網(wǎng)站W(wǎng)WW.example, com的圖片抓取請求,其中的http header中攜帶的UA信息可能會包括如下字段:^exampIespider-1mage+ (+http://www.example, com/search/spider, htm),,,此時,可以根據(jù)該UA信息中的域名字段確定該訪問請求為來自www.example, com的圖片抓取請求,另外,一般來自搜索引擎的抓取請求中還包含“spider” “search”等字段,用于表示該抓取請求有搜索引擎的蜘蛛爬蟲發(fā)起,根據(jù)這樣的字段也可以判斷該抓取請求是否為來自搜索引擎的抓取請求。
[0039]referer (引用)是由瀏覽器在發(fā)起請求時填充的一個http請求頭信息,用來告訴Web服務(wù)器當(dāng)前訪問的資源是從哪個頁面鏈接過來的。例如,如果一個訪問請求是由搜索引擎WWW.example, com跳轉(zhuǎn)而來,那么在其攜帶的Referer信息中也會相應(yīng)的攜帶www.examp I e.com的字段。通過對這些字段進行識別,能夠確定該訪問請求為來自搜索引擎的抓取請求。進一步的,防護裝置在根據(jù)UA信息和/或referer信息識別訪問請求是否為抓取請求之前,還可以包括首先獲取各個搜索引擎的域名信息并存儲的步驟,以便于后續(xù)識別一個抓取請求是否為搜索引擎發(fā)起的抓取請求。
[0040]另外,如果在接收到一個抓取請求后,沒有從其中檢測到referer信息,也可以直接認定該抓取請求不是搜索引擎發(fā)起的抓取請求。此時可以直接丟棄該抓取請求。
[0041]在具體實施時,在步驟102之前,可以通過多種方式獲取IP地址的白名單,比如可以接收網(wǎng)管人員輸入的IP地址白名單,或者接收上級服務(wù)器(比如云端服務(wù)器)下發(fā)的IP地址白名單。作為一種可選的方式,可以獲取包括搜索引擎域名的搜索引擎域名白名單,對搜索引擎域名白名單中的搜索引擎域名進行反向查詢獲取各個搜索引擎域名的IP地址,生成IP地址白名單。這樣,網(wǎng)管人員僅需在防護裝置上輸入相應(yīng)的搜索引擎域名,防護裝置即可獲得IP地址的白名單,而無需網(wǎng)管人員直接輸入搜索引擎的IP地址,降低了防護裝置操作的難度。當(dāng)然實際應(yīng)用中,獲取搜索引擎域名的白名單的方式也不僅限于用戶的輸入,對各個抓取請求進行識別,確定發(fā)起各個抓取請求的搜索引擎的域名并進行統(tǒng)計,也可以得到各個搜索弓I擎域名的白名單。
[0042]在具體實施時,可以在whois數(shù)據(jù)庫中反向查詢搜索引擎域名的IP地址,或者也可以通過域名解析方式確定搜索引擎域名的IP地址。具體采用何種方式確定搜索引擎域名的IP地址并不影響本發(fā)明的保護范圍。
[0043]在具體實施時,在根據(jù)用戶輸入的搜索引擎域名的白名單生成IP地址的白名單之后,還可以將生成的IP地址白名單上報至上級服務(wù)器,使上級服務(wù)器根據(jù)多個客戶端上報的IP地址白名單進行統(tǒng)計分析,生成一個包含更多IP地址的IP地址白名單,之后將生成的IP地址白名單下發(fā),客戶端接收到上級服務(wù)器發(fā)送的IP地址白名單后,更新自身生成的IP地址白名單。
[0044]當(dāng)然,在實際應(yīng)用中,IP地址白名單也可以由上級服務(wù)器直接下發(fā),上級服務(wù)器中的IP地址白名單可以是由網(wǎng)管人員直接輸入,也可以是由上級服務(wù)器根據(jù)網(wǎng)管人員輸入的搜索引擎域名白名單生成的IP地址白名單。IP地址白名單如何獲取并不是影響本發(fā)明的實施,相應(yīng)的,本發(fā)明實施例所列舉的獲取IP地址白名單的方式也不應(yīng)該理解為對本發(fā)明保護范圍的限定。
[0045]在具體實施時,這里的IP地址白名單還可以為搜索引擎的域名與IP地址的對應(yīng)關(guān)系表,在步驟102中,判斷來源IP地址是否屬于IP地址白名單中的IP地址還可以具體包括:確定發(fā)起該抓取請求的搜索引擎的域名,在搜素引擎域名與IP地址的對應(yīng)關(guān)系表中查找該域名對應(yīng)的IP地址,如果查找到的IP地址與該抓取請求的來源IP地址一致,則認為該來源IP地址為IP地址白名單中的地址,如果不一致,則判定該來源IP地址不是IP地址白名單中的地址。
[0046]在具體實施時,在判斷來源IP地址不屬于IP地址白名單中的IP地址時,還可以將該來源IP地址上報給上級服務(wù)器,使上級服務(wù)器進一步判斷該來源IP地址是否是搜索引擎的IP地址,并將判斷結(jié)果下發(fā)。如果判斷結(jié)果為是,防護裝置在接收到判斷結(jié)果后,放行相應(yīng)的抓取請求,如果判斷結(jié)果為否,防護裝置在接收到判斷結(jié)果后,攔截該抓取請求。
[0047]本發(fā)明中所指的攔截,可以是指將接收到的訪問請求丟棄,使該訪問請求無法到達網(wǎng)站服務(wù)器。需要指出的是,如果該防護裝置設(shè)置在網(wǎng)站服務(wù)器中,或者本身由網(wǎng)站服務(wù)器執(zhí)行,這里的步驟103中的攔截應(yīng)理解為拒絕將抓取請求所請求抓取的資源返回至源IP地址,另外在步驟103之后,位于網(wǎng)站服務(wù)器中的防護裝置還可以向源IP地址返回一個拒絕響應(yīng)的通知消息。
[0048]下面結(jié)合具體的應(yīng)用場景對本發(fā)明提供的一種防止惡意抓取的方法的完整實施例進行詳細說明,假設(shè)該方法應(yīng)用于包含網(wǎng)站服務(wù)器、防護裝置和上級服務(wù)器的系統(tǒng)中,在每一個網(wǎng)站服務(wù)器側(cè)設(shè)置一個防護裝置,用于防止網(wǎng)站服務(wù)器中的原創(chuàng)資源被惡意抓取,該上級服務(wù)器與各個防護裝置通過網(wǎng)絡(luò)相連。另外,假設(shè)網(wǎng)站服務(wù)器檢測到有原創(chuàng)資源發(fā)表時,將原創(chuàng)資源存儲到網(wǎng)站服務(wù)器中相應(yīng)的路徑下,在該路徑的結(jié)尾處添加原創(chuàng)標(biāo)識。該原創(chuàng)標(biāo)識用于表示該博文的原創(chuàng)的博文。在具體實施時,可以在路徑的結(jié)尾處添加一個分隔符比如“? ”,在該分隔符后添加一個原創(chuàng)標(biāo)識,比如“org”。
[0049]如圖2所示,該方法可以包括:
[0050]步驟201,防護裝置檢測發(fā)送至所述網(wǎng)站服務(wù)器的訪問請求。
[0051]步驟202,防護裝置獲取該訪問請求中的UA信息,根據(jù)獲取到的UA信息判斷該訪問請求是否為來自搜索引擎的抓取請求;若是轉(zhuǎn)向步驟203,若否,轉(zhuǎn)向步驟210。
[0052]步驟203,防護裝置判斷檢測到的訪問請求中所攜帶的路徑的末段是否含有原創(chuàng)標(biāo)識。這里的路徑用于表示該訪問請求所請求的資源的路徑。若判斷為是,轉(zhuǎn)向步驟204,若判斷為否,轉(zhuǎn)向步驟210。
[0053]具體的,根據(jù)上述示例的原創(chuàng)標(biāo)識,此時防護裝置如果讀取到分隔符“? ”且在“ ? ”之后讀取到“org”字段,則認為該訪問請求所請求的資源為原創(chuàng)資源。
[0054]步驟204,防護裝置獲取該訪問請求的來源IP地址。之后轉(zhuǎn)向步驟205。
[0055]該步驟獲取來源IP的具體方式可以參考現(xiàn)有技術(shù),在此不再詳細說明。
[0056]步驟205,防護裝置判斷獲取到的來源IP地址是否屬于預(yù)先獲取到的IP地址白名單中的IP地址,如果是,轉(zhuǎn)向步驟210,如果否,轉(zhuǎn)向步驟206。
[0057]步驟206,防護裝置將來源IP地址上報至上級服務(wù)器,之后轉(zhuǎn)向步驟207。
[0058]步驟207,上級服務(wù)器判斷接收到的來源IP地址是否為搜索引擎的IP地址,并向防護裝置發(fā)送判斷結(jié)果消息。
[0059]在具體實施時,如果判斷結(jié)果為是,可以在發(fā)送至防護裝置的判斷結(jié)果消息中攜帶第一標(biāo)識,如果判斷結(jié)果為否,在判斷結(jié)果消息中攜帶第二標(biāo)識。
[0060]步驟208,防護裝置根據(jù)上級服務(wù)器發(fā)送的判斷結(jié)果消息判斷該來源IP地址是否為搜索引擎的IP地址,如果是,轉(zhuǎn)向步驟210,如果否,轉(zhuǎn)向步驟209。
[0061]對應(yīng)于步驟207中的示例方式,當(dāng)接收到的判斷結(jié)果消息中攜帶的是第一標(biāo)識時,則判定所述來源IP地址為搜索引擎的IP地址,如果攜帶的是第二標(biāo)識,則判定所述來源IP地址不是搜索引擎的IP地址。
[0062]當(dāng)然在實際應(yīng)用中,也可以設(shè)置上級服務(wù)器僅在判斷為是時,下發(fā)判斷結(jié)果消息。這樣,防護裝置如果接收到判斷結(jié)果消息,則認為上級服務(wù)器判斷所上報的來源IP地址為搜索引擎的IP地址,如果預(yù)設(shè)的時間段內(nèi)沒有接收到判斷結(jié)果消息,則認為上級服務(wù)器判斷所上報的來源IP地址不是搜索引擎的IP地址。或者,也可以設(shè)置上級服務(wù)器僅在判斷為否時,下發(fā)判斷結(jié)果消息。相應(yīng)的,防護裝置如果接收到判斷結(jié)果消息,則認為上級服務(wù)器判斷所上報的來源IP地址不是搜索引擎的IP地址,如果預(yù)設(shè)的時間段內(nèi)沒有接收到判斷結(jié)果消息,則認為上級服務(wù)器判斷所上報的來源IP地址是搜索引擎的IP地址。
[0063]上級服務(wù)器具體采用何種方式將判斷結(jié)果下發(fā),本發(fā)明并不做限定。只要上級服務(wù)器能夠?qū)⑴袛嘟Y(jié)果通知到防護裝置,且防護裝置能夠識別出該判斷結(jié)果,相應(yīng)的技術(shù)方案都應(yīng)該落入本發(fā)明的保護范圍。
[0064]步驟209,所述防護裝置攔截所述訪問請求。
[0065]步驟210,防護裝置將所述訪問請求發(fā)送到網(wǎng)站服務(wù)器。
[0066]這樣,如果所述訪問請求為來自搜索引擎的抓取請求,且該抓取請求所請求抓取的資源為原創(chuàng)資源,且該抓取請求為偽造的抓取請求,那么該抓取請求的IP地址不會為IP地址白名單中的地址,這樣的抓取請求最終會攔截。這樣就能夠有效的防止網(wǎng)站服務(wù)器中的內(nèi)容被惡意抓取。
[0067]另外,根據(jù)上述圖2的步驟,在步驟208中的判斷結(jié)果為是時,也可以對上述生成的IP地址白名單進行更新。在步驟208中的判斷結(jié)果為否時,可以將該IP地址加入到黑名單,這樣在下次接收到該IP地址發(fā)起的抓取請求后,可以直接進行攔截,而無需再次執(zhí)行上述的步驟206。
[0068]作為上述方法的一個分支,如圖3所示,該方法中獲取IP地址白名單的過程可以包括:
[0069]步驟301,防護裝置接收網(wǎng)管人員輸入的搜索引擎域名白名單。
[0070]步驟302,防護裝置通過whois反向查詢搜索引擎域名白名單中各個搜索引擎域名對應(yīng)的IP地址,生成IP地址白名單。
[0071]步驟303,防護裝置將生成的IP地址白名單上報至上級服務(wù)器。
[0072]步驟304,上級服務(wù)器對各個防護裝置上報的IP地址白名單中的IP地址被上報的次數(shù)進行統(tǒng)計。
[0073]步驟305,上級服務(wù)器將上報次數(shù)超過預(yù)設(shè)上報次數(shù)的IP地址發(fā)送給防護裝置。
[0074]步驟306,防護裝置根據(jù)上級服務(wù)器發(fā)送的IP地址更新自身的IP地址白名單。
[0075]這里的所指的更新自身的IP地址白名單是指,如果該IP地址不存在于IP地址白名單中,則將該IP地址添加到IP地址白名單中,如果存在于IP地址白名單中,則無需添加。
[0076]在具體實施時,在步驟304-步驟305中,上級服務(wù)器可以按照預(yù)設(shè)的周期進行針對防護裝置上報的IP地址白名單中的各個IP地址進行統(tǒng)計,確定各個IP地址在預(yù)設(shè)的時間內(nèi)被攜帶在IP地址白名單中上報的次數(shù);或者也可以在接收到其中一個防護裝置上報的IP地址白名單后,針對該IP地址白名單中的每一個IP地址,判斷這些IP地址白名單在預(yù)設(shè)的時間內(nèi)被上報的次數(shù)。這里所指的預(yù)設(shè)的時間內(nèi)可以是指預(yù)設(shè)的統(tǒng)計周期,或者在統(tǒng)計周期到來(或者在接收到IP地址白名單)之前的預(yù)設(shè)時間,或者也可以為某個特定的時間段。
[0077]利用圖3所示的IP地址白名單的獲取方法,網(wǎng)管人員僅需輸入搜素引擎域名的白名單即可,降低了操作難度。另外,一個IP地址攜帶在IP地址白名單中上報至上級服務(wù)器的次數(shù)超過預(yù)設(shè)次數(shù),說明有多個網(wǎng)管人員將具有該IP地址的搜索引擎的域名攜帶在搜索引擎白名單中輸入到防護裝置中,且多個防護裝置通過對該搜索引擎的域名反向查詢獲得的IP地址相同,則該IP地址很可能就是搜索引擎的IP地址。上級服務(wù)器將該IP地址下發(fā)給防護裝置,能夠使一個防護裝置獲取其他多個防護裝置認定的搜索引擎的IP地址,避免錯誤的攔截。
[0078]基于相同的構(gòu)思,本發(fā)明一個實施例還提供了一種防護裝置,該防護裝置可以用于實現(xiàn)如圖1、圖2和圖3所述的方法,如圖4所示,該防護裝置可以包括:
[0079]識別模塊401,用于識別用于抓取網(wǎng)站服務(wù)器中的資源的抓取請求;
[0080]判斷模塊402,用于判斷識別模塊401識別的所述抓取請求的來源IP地址是否屬于IP地址白名單中的IP地址;
[0081]攔截模塊403,用于在判斷模塊402判斷所述來源IP地址不屬于IP地址白名單中的IP地址,攔截所述抓取請求。
[0082]本發(fā)明提供的防護裝置,在使用時可以設(shè)置在需要防護的網(wǎng)站服務(wù)器中,也可以設(shè)置在該網(wǎng)站服務(wù)器的網(wǎng)絡(luò)入口處,比如網(wǎng)站服務(wù)器的網(wǎng)關(guān)處。防護裝置中的識別模塊對于發(fā)送至該網(wǎng)站服務(wù)器的訪問請求進行監(jiān)控,識別出其中的用于抓取網(wǎng)站服務(wù)器中的資源的抓取請求。之后判斷模塊判斷識別模塊識別的抓取請求的IP地址是否為真實的搜索引擎的IP地址。如果不是,則攔截模塊對抓取請求進行攔截。通過這種方式,能夠攔截偽裝搜索引擎發(fā)起的抓取請求,有效的防止網(wǎng)站服務(wù)器中的資源被惡意抓取。
[0083]在具體應(yīng)用時,識別模塊401用于檢測到訪問所述網(wǎng)站服務(wù)器中資源的訪問請求,獲取檢測到的訪問請求中攜帶的UA信息和/或referer信息;根據(jù)所述UA信息/或referer信息,確定檢測到的訪問請求是否為用于抓取所述網(wǎng)站服務(wù)器中的資源的抓取請求。
[0084]在具體應(yīng)用時,該防護裝置可以還包括:IP地址白名單獲取模塊404,用于在所述判斷模塊判斷所述來源IP地址是否屬于IP地址白名單中的IP地址之前,獲取包含搜索引擎域名的搜索引擎域名白名單,對搜索引擎域名白名單中的搜索引擎域名進行反向查詢獲取各個搜索引擎域名的IP地址,得到IP地址白名單。
[0085]在具體應(yīng)用時,防護裝置可以還包括:上報模塊405,用于在所述判斷模塊判斷所述來源IP地址不屬于IP地址白名單中的IP地址時,將所述來源IP地址發(fā)送給服務(wù)器,以使所述服務(wù)器確定所述來源IP地址是否屬于搜索引擎的IP地址。
[0086]在具體應(yīng)用時,當(dāng)包含上述的IP地址白名單獲取模塊504時,上述的上報模塊還可以用于,將根據(jù)域名服務(wù)器白名單生成的IP地址白名單上報給上級服務(wù)器,當(dāng)防護裝置接收到上級服務(wù)器發(fā)送的經(jīng)服務(wù)器驗證為搜索引擎的IP地址時,上述的IP地址白名單獲取模塊504還可以對自身根據(jù)域名服務(wù)器白名單生成的IP地址白名單進行更新,將經(jīng)服務(wù)器驗證為搜索引擎的IP地址添加到IP地址白名單中。另外,如果上報模塊404上報的不屬于其自身IP地址白名單中的IP地址經(jīng)服務(wù)器驗證也不是搜索引擎的IP地址,則防護裝置中的相應(yīng)模塊(比如IP地址白名單獲取模塊404)在獲得上級服務(wù)器發(fā)送的判斷結(jié)果后,還可以將該IP地址加入到黑名單,這樣在下次接收到該IP地址發(fā)起的抓取請求后,可以直接進行攔截,而無需將該IP地址上報。
[0087]在具體應(yīng)用時,IP地址白名單為由服務(wù)器生成并下發(fā)的白名單。
[0088]基于相同的構(gòu)思,本發(fā)明一個實施例還提供了一種服務(wù)器,該服務(wù)器可以作為上級服務(wù)器實現(xiàn)圖1或2所述的方法,如圖5所示,該服務(wù)器可以具體包括:
[0089]接收模塊501,用于接收各個防護裝置上報的IP地址白名單。
[0090]統(tǒng)計模塊502,用于統(tǒng)計各個IP地址被攜帶在IP地址白名單中上報的次數(shù);
[0091]下發(fā)模塊503,用于將上報次數(shù)超過預(yù)設(shè)上報次數(shù)的IP地址發(fā)送給防護裝置。
[0092]在本發(fā)明實施例中,一個IP地址攜帶在IP地址白名單中上報至上級服務(wù)器的次數(shù)超過預(yù)設(shè)次數(shù),說明多個防護裝置判定該IP地址為搜索引擎的IP地址。并且實際上,這樣的IP地址很可能就是搜索引擎的IP地址。上級服務(wù)器將該IP地址下發(fā)給防護裝置,能夠使一個防護裝置獲取其他多個防護裝置認定的搜索引擎的IP地址,避免錯誤的攔截。
[0093]另外,接收模塊501還可以用于接收各個防護裝置上報的疑似IP地址,該疑似IP地址為不屬于相應(yīng)的防護裝置中的IP地址白名單的來自抓取請求的IP地址,此時,該服務(wù)器還可以包括判斷模塊504,用于對該IP地址進行判斷,確定該IP地址實際是否為搜索引擎的IP地址,并將判斷結(jié)果下發(fā)。這樣防護裝置能夠根據(jù)接收到的判斷結(jié)果做進一步的判斷。
[0094]本發(fā)明的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0095]類似地,應(yīng)當(dāng)理解,為了精簡本發(fā)明公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋呈反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0096]本領(lǐng)域技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在于該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是互相排斥之處,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的替代特征來代替。
[0097]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0098]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的一種瀏覽器終端的設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0099]應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
[0100]最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求和說明書的范圍當(dāng)中。
【權(quán)利要求】
1.一種防止惡意抓取的防護裝置,其特征在于,包括: 識別模塊,用于識別用于抓取網(wǎng)站服務(wù)器中的資源的抓取請求; 判斷模塊,用于判斷所述識別模塊識別的所述抓取請求的來源互聯(lián)網(wǎng)協(xié)議IP地址是否屬于IP地址白名單中的IP地址; 攔截模塊,用于在所述判斷模塊判斷所述來源IP地址不屬于IP地址白名單中的IP地址,攔截所述抓取請求。
2.如權(quán)利要求1所述的防護裝置,其特征在于,所述識別模塊用于檢測到訪問所述網(wǎng)站服務(wù)器中資源的訪問請求,獲取檢測到的訪問請求中攜帶的用戶代理UA信息和/或引用referer信息;根據(jù)所述UA信息/或referer信息,確定檢測到的訪問請求是否為用于抓取所述網(wǎng)站服務(wù)器中的資源的抓取請求。
3.如權(quán)利要求1所述的防護裝置,其特征在于,還包括:IP地址白名單獲取模塊,用于在所述判斷模塊判斷所述來源IP地址是否屬于IP地址白名單中的IP地址之前,獲取包含搜索引擎域名的搜索引擎域名白名單,對搜索引擎域名白名單中的搜索引擎域名進行反向查詢獲取各個搜索引擎域名的IP地址,得到IP地址白名單。
4.如權(quán)利要求1所述的防護裝置,其特征在于,還包括:上報模塊,用于在所述判斷模塊判斷所述來源IP地址不屬于IP地址白名單中的IP地址時,將所述來源IP地址發(fā)送給服務(wù)器,以使所述服務(wù)器確定所述來源IP地址是否屬于搜索引擎的IP地址。
5.如權(quán)利要求1所述的防護裝置,其特征在于,所述IP地址白名單為由服務(wù)器生成并下發(fā)的白名單。
6.一種防止惡意抓取的方法,其特征在于,包括: 位于網(wǎng)站服務(wù)器側(cè)的防護裝置識別用于抓取所述網(wǎng)站服務(wù)器中資源的抓取請求; 判斷所述抓取請求的來源互聯(lián)網(wǎng)協(xié)議IP地址是否屬于IP地址白名單中的IP地址; 如果所述來源IP地址不屬于IP地址白名單中的IP地址,則攔截所述抓取請求。
7.如權(quán)利要求6所述的方法,其特征在于,所述位于網(wǎng)站服務(wù)器側(cè)的防護裝置識別用于抓取所述網(wǎng)站服務(wù)器中的資源的抓取請求,包括: 所述防護裝置檢測用于訪問所述網(wǎng)站服務(wù)器中資源的訪問請求,獲取檢測到的訪問請求中攜帶的UA信息和/或referer信息;根據(jù)所述用戶代理UA信息和/或引用referer信息,判斷檢測到的訪問請求是否為用于抓取所述網(wǎng)站服務(wù)器中的資源的抓取請求。
8.如權(quán)利要求6所述的方法,其特征在于,所述判斷所述抓取請求的來源IP地址是否屬于IP地址白名單中的IP地址之前,所述方法還包括: 獲取包括搜索引擎域名的搜索引擎域名白名單,對搜索引擎域名白名單中的搜索引擎域名進行反向查詢獲取各個搜索引擎域名的IP地址,生成IP地址白名單。
9.如權(quán)利要求6所述的方法,其特征在于,所述方法還包括:如果所述來源IP地址不屬于IP地址白名單中的IP地址,將所述來源IP地址發(fā)送至服務(wù)器,以使所述服務(wù)器確定所述來源IP地址是否屬于搜索引擎的IP地址。
10.如權(quán)利要求6所述的方法,其特征在于,所述IP地址白名單為由服務(wù)器生成并下發(fā)的白名單。
【文檔編號】H04L29/06GK104506525SQ201410806643
【公開日】2015年4月8日 申請日期:2014年12月22日 優(yōu)先權(quán)日:2014年12月22日
【發(fā)明者】李紀峰 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司