檢測(cè)反爬蟲(chóng)策略安全性的方法及裝置的制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種檢測(cè)反爬蟲(chóng)策略安全性的方法及裝置,其中,所述方法包括:在網(wǎng)站的第一前端頁(yè)面中嵌入用于實(shí)現(xiàn)反爬蟲(chóng)策略的反爬蟲(chóng)代碼;利用所述反爬蟲(chóng)代碼檢測(cè)訪問(wèn)所述第一前端頁(yè)面的用戶(hù)是否為爬蟲(chóng),將被檢測(cè)出是爬蟲(chóng)的用戶(hù)記為目標(biāo)對(duì)象;驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng),統(tǒng)計(jì)所述目標(biāo)對(duì)象非爬蟲(chóng)的次數(shù);根據(jù)所述次數(shù)計(jì)算所述反爬蟲(chóng)策略的誤傷率,所述誤傷率用于衡量所述反爬蟲(chóng)策略的安全性。本發(fā)明彌補(bǔ)了現(xiàn)有技術(shù)對(duì)反爬蟲(chóng)策略的安全性檢測(cè)不當(dāng)造成系統(tǒng)傷害的不足,能夠?qū)Ψ磁老x(chóng)策略安全性準(zhǔn)確檢測(cè),便于及時(shí)對(duì)反爬蟲(chóng)策略進(jìn)行修改或更新,避免由于反爬蟲(chóng)策略的安全性對(duì)線上系統(tǒng)的穩(wěn)定性造成影響,在檢測(cè)爬蟲(chóng)的同時(shí)保證系統(tǒng)的穩(wěn)定性。
【專(zhuān)利說(shuō)明】
檢測(cè)反爬蟲(chóng)策略安全性的方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種檢測(cè)反爬蟲(chóng)策略安全性的方法及裝置。
【背景技術(shù)】
[0002]目前互聯(lián)網(wǎng)上的爬蟲(chóng)量日益增加,爬蟲(chóng)也千奇百怪,并且時(shí)刻在進(jìn)化,反爬蟲(chóng)機(jī)制也越來(lái)越受到嚴(yán)峻的挑戰(zhàn),需要頻繁地發(fā)布新的反爬蟲(chóng)策略來(lái)解決新的爬蟲(chóng)。然而,每次進(jìn)行發(fā)布新版反爬蟲(chóng)策略的時(shí)候,都會(huì)對(duì)線上系統(tǒng)的穩(wěn)定性造成影響,如果反爬蟲(chóng)策略沒(méi)有足夠的安全性,會(huì)在反爬蟲(chóng)的同時(shí)對(duì)線上系統(tǒng)造成傷害,得不償失。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問(wèn)題是為了克服現(xiàn)有技術(shù)對(duì)反爬蟲(chóng)策略的安全性檢測(cè)不當(dāng)造成系統(tǒng)傷害的缺陷,提供一種能夠準(zhǔn)確地檢測(cè)反爬蟲(chóng)策略安全性的方法及裝置。
[0004]本發(fā)明是通過(guò)以下技術(shù)方案解決上述技術(shù)問(wèn)題的:
[0005]本發(fā)明提供一種檢測(cè)反爬蟲(chóng)策略安全性的方法,其特點(diǎn)是,所述方法包括:
[0006]S1、在網(wǎng)站的第一前端頁(yè)面中嵌入用于實(shí)現(xiàn)反爬蟲(chóng)策略的反爬蟲(chóng)代碼;
[0007]S2、利用所述反爬蟲(chóng)代碼檢測(cè)訪問(wèn)所述第一前端頁(yè)面的用戶(hù)是否為爬蟲(chóng),將被檢測(cè)出是爬蟲(chóng)的用戶(hù)記為目標(biāo)對(duì)象;
[0008]S3、驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng),統(tǒng)計(jì)所述目標(biāo)對(duì)象非爬蟲(chóng)的次數(shù);
[0009]S4、根據(jù)所述次數(shù)計(jì)算所述反爬蟲(chóng)策略的誤傷率,所述誤傷率用于衡量所述反爬蟲(chóng)策略的安全性。
[0010]其中,反爬蟲(chóng)策略是通過(guò)反爬蟲(chóng)代碼實(shí)現(xiàn)的;統(tǒng)計(jì)出的所述目標(biāo)對(duì)象非爬蟲(chóng)的次數(shù)即表示所述反爬蟲(chóng)代碼誤把非爬蟲(chóng)的用戶(hù)檢測(cè)成爬蟲(chóng)的次數(shù),即所述反爬蟲(chóng)代碼檢測(cè)錯(cuò)誤的次數(shù)。本技術(shù)方案通過(guò)計(jì)算所述反爬蟲(chóng)策略的誤傷率來(lái)衡量反爬蟲(chóng)策略的安全性,如果安全性較高,可以將反爬蟲(chóng)策略部署到線上系統(tǒng)中,如果安全性較低,可以及時(shí)修改或更新反爬蟲(chóng)策略,避免由于反爬蟲(chóng)策略的安全性對(duì)線上系統(tǒng)的穩(wěn)定性造成影響,在檢測(cè)爬蟲(chóng)的同時(shí)保證系統(tǒng)的穩(wěn)定性。
[0011 ] 較佳地,S3通過(guò)以下步驟驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng):
[0012]S31、判斷所述目標(biāo)對(duì)象是否訪問(wèn)所述網(wǎng)站的第二前端頁(yè)面,若是,則所述目標(biāo)對(duì)象非爬蟲(chóng),若否,則所述目標(biāo)對(duì)象為爬蟲(chóng)。
[0013]其中,第二前端頁(yè)面與所述第一前端頁(yè)面具有關(guān)聯(lián)性,為爬蟲(chóng)在訪問(wèn)了第一前端頁(yè)面后通常不會(huì)訪問(wèn)的頁(yè)面,如果目標(biāo)對(duì)象訪問(wèn)第二前端頁(yè)面,則表示所述目標(biāo)對(duì)象非爬蟲(chóng)(不是爬蟲(chóng)),所述反爬蟲(chóng)代碼檢測(cè)錯(cuò)誤,如果目標(biāo)對(duì)象沒(méi)有訪問(wèn)第二前端頁(yè)面,則表示所述目標(biāo)對(duì)象為爬蟲(chóng),所述反爬蟲(chóng)代碼檢測(cè)正確。本技術(shù)方案能夠有效、準(zhǔn)確地驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng),進(jìn)一步驗(yàn)證所述反爬蟲(chóng)代碼的安全性。
[0014]較佳地,所述反爬蟲(chóng)代碼包括前端部分,所述前端部分包括有用于檢測(cè)爬蟲(chóng)的代碼,Si包括:
[0015]Sn、在網(wǎng)站的第一前端頁(yè)面中嵌入第一頁(yè)面;
[0016]S12、將用于檢測(cè)爬蟲(chóng)的代碼配置到所述第一頁(yè)面中。
[0017]本技術(shù)方案通過(guò)所述第一頁(yè)面配置用于檢測(cè)爬蟲(chóng)的代碼嵌入第一前端頁(yè)面,即使代碼或第一頁(yè)面有誤,也不會(huì)影響到所述第一前端頁(yè)面的顯示,便于代碼的更改。
[0018]較佳地,所述反爬蟲(chóng)代碼還包括后臺(tái)部分,所述后臺(tái)部分用于在客戶(hù)端寫(xiě)入第一數(shù)據(jù)以及在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù);
[0019]S1還包括:利用所述后臺(tái)部分在所述客戶(hù)端寫(xiě)入第一數(shù)據(jù);
[0020]S3包括:利用所述后臺(tái)部分在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù);
[0021 ]所述誤傷率等于所述總數(shù)/所述第二前端頁(yè)面的總訪問(wèn)人數(shù)。
[0022]本技術(shù)方案通過(guò)判斷所述第二前端頁(yè)面是否攔截到第一數(shù)據(jù)來(lái)判斷所述目標(biāo)對(duì)象是否訪問(wèn)所述第二前端頁(yè)面,若所述第二前端頁(yè)面攔截到第一數(shù)據(jù),則表明所述目標(biāo)對(duì)象訪問(wèn)了所述第二前端頁(yè)面,所述目標(biāo)對(duì)象非爬蟲(chóng),若所述第二前端頁(yè)面未攔截到第一數(shù)據(jù),則表明所述目標(biāo)對(duì)象未訪問(wèn)所述第二前端頁(yè)面,所述目標(biāo)對(duì)象為爬蟲(chóng)。攔截到的所述第一數(shù)據(jù)的總數(shù)等于所述目標(biāo)對(duì)象非爬蟲(chóng)的次數(shù)。本技術(shù)方案中的誤傷率越高則表明所述反爬蟲(chóng)策略的安全性越低,誤傷率越低則表明所述反爬蟲(chóng)策略的安全性越高。
[0023]較佳地,Sn還包括:設(shè)定在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率;
[0024]所述誤傷率等于所述總數(shù)/所述概率/所述第二前端頁(yè)面的總訪問(wèn)人數(shù)。
[0025]較佳地,S1還包括:設(shè)定所述第一數(shù)據(jù)的有效時(shí)間,所述第一數(shù)據(jù)在超過(guò)所述有效時(shí)間時(shí)失效。
[0026]較佳地,不同的反爬蟲(chóng)策略對(duì)應(yīng)不同的第一數(shù)據(jù)。
[0027]本技術(shù)方案尤其適用于同時(shí)檢測(cè)多個(gè)反爬蟲(chóng)策略的情況,為不同的反爬蟲(chóng)策略(反爬蟲(chóng)代碼)設(shè)定不同的第一數(shù)據(jù),在所述第二前端頁(yè)面分別統(tǒng)計(jì)攔截到的不同的第一數(shù)據(jù)的總數(shù),通過(guò)區(qū)別第一數(shù)據(jù)來(lái)判定各個(gè)反爬蟲(chóng)策略的安全性。
[0028]較佳地,所述方法還包括:
[0029]&、比較所述誤傷率是否低于閾值,若是,則所述反爬蟲(chóng)策略安全;若否,則所述反爬蟲(chóng)策略不安全。
[0030]本發(fā)明還提供一種檢測(cè)反爬蟲(chóng)策略安全性的裝置,其特點(diǎn)是,所述裝置包括:
[0031]嵌入單元,用于在網(wǎng)站的第一前端頁(yè)面中嵌入用于實(shí)現(xiàn)反爬蟲(chóng)策略的反爬蟲(chóng)代碼;
[0032]檢測(cè)單元,用于利用所述反爬蟲(chóng)代碼檢測(cè)訪問(wèn)所述第一前端頁(yè)面的用戶(hù)是否為爬蟲(chóng),將被檢測(cè)出是爬蟲(chóng)的用戶(hù)記為目標(biāo)對(duì)象;
[0033]驗(yàn)證單元,用于驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng),統(tǒng)計(jì)所述目標(biāo)對(duì)象非爬蟲(chóng)的次數(shù);
[0034]計(jì)算單元,用于根據(jù)所述次數(shù)計(jì)算所述反爬蟲(chóng)策略的誤傷率,所述誤傷率用于衡量所述反爬蟲(chóng)策略的安全性。
[0035]較佳地,所述驗(yàn)證單元通過(guò)以下模塊驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng):
[0036]判斷模塊,用于判斷所述目標(biāo)對(duì)象是否訪問(wèn)所述網(wǎng)站的第二前端頁(yè)面,若是,則所述目標(biāo)對(duì)象非爬蟲(chóng),若否,則所述目標(biāo)對(duì)象為爬蟲(chóng)。
[0037]較佳地,所述反爬蟲(chóng)代碼包括前端部分,所述前端部分包括有用于檢測(cè)爬蟲(chóng)的代碼,所述嵌入單元包括:
[0038]頁(yè)面模塊,用于在網(wǎng)站的第一前端頁(yè)面中嵌入第一頁(yè)面;
[0039]配置模塊,用于將用于檢測(cè)爬蟲(chóng)的代碼配置到所述第一頁(yè)面中。
[0040]較佳地,所述反爬蟲(chóng)代碼還包括后臺(tái)部分,所述后臺(tái)部分用于在客戶(hù)端寫(xiě)入第一數(shù)據(jù)以及在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù);
[0041 ] 所述嵌入單元還包括:
[0042]數(shù)據(jù)模塊,用于利用所述后臺(tái)部分在客戶(hù)端寫(xiě)入第一數(shù)據(jù);
[0043]所述驗(yàn)證單元包括:
[0044]攔截模塊,用于利用所述后臺(tái)部分在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù);
[0045]所述誤傷率等于所述總數(shù)/所述第二前端頁(yè)面的總訪問(wèn)人數(shù)。
[0046]較佳地,所述頁(yè)面模塊還用于設(shè)定在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率;
[0047]所述誤傷率等于所述總數(shù)/所述概率/所述第二前端頁(yè)面的總訪問(wèn)人數(shù)。
[0048]較佳地,所述數(shù)據(jù)模塊還用于設(shè)定所述第一數(shù)據(jù)的有效時(shí)間,所述第一數(shù)據(jù)在超過(guò)所述有效時(shí)間時(shí)失效。
[0049]較佳地,不同的反爬蟲(chóng)策略對(duì)應(yīng)不同的第一數(shù)據(jù)。
[0050]較佳地,所述裝置還包括:
[0051]比較單元,用于比較所述誤傷率是否低于閾值,若是,則所述反爬蟲(chóng)策略安全;若否,則所述反爬蟲(chóng)策略不安全。
[0052]在符合本領(lǐng)域常識(shí)的基礎(chǔ)上,上述各優(yōu)選條件,可任意組合,即得本發(fā)明各較佳實(shí)例。
[0053]本發(fā)明的積極進(jìn)步效果在于:本發(fā)明通過(guò)計(jì)算所述反爬蟲(chóng)策略的誤傷率來(lái)衡量反爬蟲(chóng)策略的安全性,對(duì)反爬蟲(chóng)策略安全性的準(zhǔn)確檢測(cè),便于及時(shí)對(duì)反爬蟲(chóng)策略進(jìn)行修改或更新,避免由于反爬蟲(chóng)策略的安全性對(duì)線上系統(tǒng)的穩(wěn)定性造成影響,在檢測(cè)爬蟲(chóng)的同時(shí)保證系統(tǒng)的穩(wěn)定性。
【附圖說(shuō)明】
[0054]圖1為本發(fā)明較佳實(shí)施例1的檢測(cè)反爬蟲(chóng)策略安全性的方法的流程圖。
[0055]圖2為本發(fā)明較佳實(shí)施例2的檢測(cè)反爬蟲(chóng)策略安全性的裝置的示意圖。
【具體實(shí)施方式】
[0056]下面通過(guò)實(shí)施例的方式進(jìn)一步說(shuō)明本發(fā)明,但并不因此將本發(fā)明限制在所述的實(shí)施例范圍之中。
[0057]實(shí)施例1
[0058]一種檢測(cè)反爬蟲(chóng)策略安全性的方法,如圖1所示,所述方法包括:
[0059]步驟101、編寫(xiě)用于實(shí)現(xiàn)反爬蟲(chóng)策略的反爬蟲(chóng)代碼。其中,反爬蟲(chóng)代碼包括前端部分和后臺(tái)部分:
[0060]所述前端部分包括有用于檢測(cè)爬蟲(chóng)的代碼;
[0061]后臺(tái)部分用于在客戶(hù)端寫(xiě)入第一數(shù)據(jù)以及設(shè)定所述第一數(shù)據(jù)的有效時(shí)間,所述第一數(shù)據(jù)在超過(guò)所述有效時(shí)間時(shí)失效,在具體實(shí)現(xiàn)時(shí)所述第一數(shù)據(jù)可以使用cookie(有時(shí)也用其復(fù)數(shù)形式cookies,儲(chǔ)存在用戶(hù)本地終端(即客戶(hù)端)上的數(shù)據(jù))實(shí)現(xiàn),cookie的值和有效時(shí)間可以自定義;
[0062]所述后臺(tái)部分還用于在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù)。
[0063]步驟102、在網(wǎng)站的第一前端頁(yè)面中嵌入第一頁(yè)面以及設(shè)定在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率。其中,所述第一前端頁(yè)面通??梢詾槿我庠L問(wèn)量較大的前端頁(yè)面,例如在線旅游網(wǎng)站的酒店詳情頁(yè)面;所述第一頁(yè)面可以通過(guò)可動(dòng)態(tài)配置javascript(一種直譯式腳本語(yǔ)言)代碼的iframe(html標(biāo)簽)頁(yè)面實(shí)現(xiàn),由于iframe頁(yè)面是獨(dú)立沙盒,即使js報(bào)錯(cuò)不會(huì)對(duì)父頁(yè)面(即所述第一前端頁(yè)面)造成影響;所述概率是指在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率,用于控制所述第一頁(yè)面的出現(xiàn)次數(shù),例如有100個(gè)第一前端頁(yè)面,如果設(shè)定概率為10%,那么就從這100個(gè)第一前端頁(yè)面中選出10個(gè)嵌入第一頁(yè)面,如果設(shè)定概率為I,那么就在這100個(gè)第一前端頁(yè)面中均嵌入第一頁(yè)面。
[0064]步驟103、發(fā)布所述反爬蟲(chóng)代碼,以實(shí)現(xiàn)將用于檢測(cè)爬蟲(chóng)的代碼配置到所述第一頁(yè)面中及在所述客戶(hù)端寫(xiě)入第一數(shù)據(jù)。利用所述代碼可以自動(dòng)檢測(cè)出訪問(wèn)所述第一前端頁(yè)面的用戶(hù)是否為爬蟲(chóng);利用所述后臺(tái)部分實(shí)現(xiàn)在所述客戶(hù)端寫(xiě)入第一數(shù)據(jù)。
[0065]本實(shí)施例中將被檢測(cè)出是爬蟲(chóng)的用戶(hù)記為目標(biāo)對(duì)象,通過(guò)判斷所述目標(biāo)對(duì)象是否訪問(wèn)所述網(wǎng)站的第二前端頁(yè)面來(lái)驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng),所述第二前端頁(yè)面與所述第一前端頁(yè)面具有關(guān)聯(lián)性,為爬蟲(chóng)在訪問(wèn)了第一前端頁(yè)面后通常不會(huì)訪問(wèn)的頁(yè)面,例如在線旅游網(wǎng)站的訂單頁(yè)面。如果目標(biāo)對(duì)象訪問(wèn)第二前端頁(yè)面,則表示所述目標(biāo)對(duì)象非爬蟲(chóng)(不是爬蟲(chóng)),所述反爬蟲(chóng)代碼檢測(cè)錯(cuò)誤,所述目標(biāo)對(duì)象被誤傷,如果目標(biāo)對(duì)象沒(méi)有訪問(wèn)第二前端頁(yè)面,則表示所述目標(biāo)對(duì)象為爬蟲(chóng),所述反爬蟲(chóng)代碼檢測(cè)正確,所述目標(biāo)對(duì)象沒(méi)有被誤傷。
[0066]步驟104、在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù)。步驟104是利用所述后臺(tái)部分實(shí)現(xiàn)的,其中攔截第一數(shù)據(jù)的作用是通過(guò)判斷所述第二前端頁(yè)面是否攔截到第一數(shù)據(jù)來(lái)判斷所述目標(biāo)對(duì)象是否訪問(wèn)所述第二前端頁(yè)面,進(jìn)而驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng)。若所述第二前端頁(yè)面攔截到第一數(shù)據(jù),則表明所述目標(biāo)對(duì)象訪問(wèn)了所述第二前端頁(yè)面,所述目標(biāo)對(duì)象非爬蟲(chóng),若所述第二前端頁(yè)面未攔截到第一數(shù)據(jù),則表明所述目標(biāo)對(duì)象未訪問(wèn)所述第二前端頁(yè)面,所述目標(biāo)對(duì)象為爬蟲(chóng)。
[0067]步驟105、計(jì)算所述反爬蟲(chóng)策略的誤傷率,所述誤傷率用于衡量所述反爬蟲(chóng)策略的安全性。
[0068]設(shè)誤傷率為Q,在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率為P,攔截到的所述第一數(shù)據(jù)的總數(shù)為C,第二前端頁(yè)面的總訪問(wèn)人數(shù)為O:
[0069]Q = C/P/0o
[0070]當(dāng)p = Uf,Q = c/0。
[0071]步驟106、比較所述誤傷率是否低于閾值,若是,則所述反爬蟲(chóng)策略安全;若否,則所述反爬蟲(chóng)策略不安全。其中,所述閾值可以自定義。如果所述反爬蟲(chóng)策略是安全的,那么可以正式部署到生產(chǎn)。
[0072]在需要同時(shí)檢測(cè)多個(gè)反爬蟲(chóng)策略時(shí),可以設(shè)定不同的反爬蟲(chóng)策略對(duì)應(yīng)不同的第一數(shù)據(jù)。在所述第二前端頁(yè)面分別統(tǒng)計(jì)攔截到的不同的第一數(shù)據(jù)的總數(shù),通過(guò)區(qū)別第一數(shù)據(jù)來(lái)判定各個(gè)反爬蟲(chóng)策略的安全性。
[0073]實(shí)施例2
[0074]本實(shí)施例的檢測(cè)反爬蟲(chóng)策略安全性的裝置,如圖2所示,所述裝置包括:嵌入單元201、檢測(cè)單元202、驗(yàn)證單元203、計(jì)算單元204和比較單元205。
[0075]所述反爬蟲(chóng)策略包括反爬蟲(chóng)代碼,反爬蟲(chóng)代碼包括前端部分和后臺(tái)部分:
[0076]所述前端部分包括有用于檢測(cè)爬蟲(chóng)的代碼;
[0077]后臺(tái)部分用于在客戶(hù)端寫(xiě)入第一數(shù)據(jù)以及設(shè)定所述第一數(shù)據(jù)的有效時(shí)間,所述第一數(shù)據(jù)在超過(guò)所述有效時(shí)間時(shí)失效,在具體實(shí)現(xiàn)時(shí)所述第一數(shù)據(jù)可以使用cookie(有時(shí)也用其復(fù)數(shù)形式cookies,儲(chǔ)存在用戶(hù)本地終端(即客戶(hù)端)上的數(shù)據(jù))實(shí)現(xiàn),cookie的值和有效時(shí)間可以自定義;
[0078]所述后臺(tái)部分還用于在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù)。
[0079]嵌入單元201,用于在網(wǎng)站的第一前端頁(yè)面中嵌入用于實(shí)現(xiàn)反爬蟲(chóng)策略的反爬蟲(chóng)代碼。
[0080]具體地,所述嵌入單元201包括:
[0081]頁(yè)面模塊2011,用于在網(wǎng)站的第一前端頁(yè)面中嵌入第一頁(yè)面以及設(shè)定在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率。其中,所述第一前端頁(yè)面通??梢詾槿我庠L問(wèn)量較大的前端頁(yè)面,例如在線旅游網(wǎng)站的酒店詳情頁(yè)面;所述第一頁(yè)面可以通過(guò)可動(dòng)態(tài)配置javascript(—種直譯式腳本語(yǔ)言)代碼的iframe(html標(biāo)簽)頁(yè)面實(shí)現(xiàn),由于iframe頁(yè)面是獨(dú)立沙盒,即使js報(bào)錯(cuò)不會(huì)對(duì)父頁(yè)面(即所述第一前端頁(yè)面)造成影響;所述概率是指在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率,用于控制所述第一頁(yè)面的出現(xiàn)次數(shù),例如有100個(gè)第一前端頁(yè)面,如果設(shè)定概率為10%,那么就從這100個(gè)第一前端頁(yè)面中選出10個(gè)嵌入第一頁(yè)面,如果設(shè)定概率為I,那么就在這100個(gè)第一前端頁(yè)面中均嵌入第一頁(yè)面。
[0082]配置模塊2012,用于通過(guò)發(fā)布的反爬蟲(chóng)代碼將用于檢測(cè)爬蟲(chóng)的代碼配置到所述第一頁(yè)面中。
[0083]數(shù)據(jù)模塊2013,用于通過(guò)發(fā)布的反爬蟲(chóng)代碼將在客戶(hù)端寫(xiě)入第一數(shù)據(jù)。利用所述后臺(tái)部分實(shí)現(xiàn)在所述客戶(hù)端寫(xiě)入第一數(shù)據(jù)。
[0084]檢測(cè)單元202,用于利用所述代碼檢測(cè)出訪問(wèn)所述第一前端頁(yè)面的用戶(hù)是否為爬蟲(chóng),將被檢測(cè)出是爬蟲(chóng)的用戶(hù)記為目標(biāo)對(duì)象。
[0085]驗(yàn)證單元203,用于驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng),統(tǒng)計(jì)所述目標(biāo)對(duì)象非爬蟲(chóng)的次數(shù)。具體地,所述驗(yàn)證單元203通過(guò)以下模塊驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng):
[0086]判斷模塊2031,用于判斷所述目標(biāo)對(duì)象是否訪問(wèn)所述網(wǎng)站的第二前端頁(yè)面,若是,則所述目標(biāo)對(duì)象非爬蟲(chóng),若否,則所述目標(biāo)對(duì)象為爬蟲(chóng)。所述第二前端頁(yè)面與所述第一前端頁(yè)面具有關(guān)聯(lián)性,為爬蟲(chóng)在訪問(wèn)了第一前端頁(yè)面后通常不會(huì)訪問(wèn)的頁(yè)面,例如在線旅游網(wǎng)站的訂單頁(yè)面。如果目標(biāo)對(duì)象訪問(wèn)第二前端頁(yè)面,則表示所述目標(biāo)對(duì)象非爬蟲(chóng)(不是爬蟲(chóng)),所述反爬蟲(chóng)代碼檢測(cè)錯(cuò)誤,所述目標(biāo)對(duì)象被誤傷,如果目標(biāo)對(duì)象沒(méi)有訪問(wèn)第二前端頁(yè)面,則表示所述目標(biāo)對(duì)象為爬蟲(chóng),所述反爬蟲(chóng)代碼檢測(cè)正確,所述目標(biāo)對(duì)象沒(méi)有被誤傷。
[0087]所述驗(yàn)證單元203包括:
[0088]攔截模塊2032,用于利用所述后臺(tái)部分在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù)。其中攔截第一數(shù)據(jù)的作用是通過(guò)判斷所述第二前端頁(yè)面是否攔截到第一數(shù)據(jù)來(lái)判斷所述目標(biāo)對(duì)象是否訪問(wèn)所述第二前端頁(yè)面,進(jìn)而驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng)。若所述第二前端頁(yè)面攔截到第一數(shù)據(jù),則表明所述目標(biāo)對(duì)象訪問(wèn)了所述第二前端頁(yè)面,所述目標(biāo)對(duì)象非爬蟲(chóng),若所述第二前端頁(yè)面未攔截到第一數(shù)據(jù),則表明所述目標(biāo)對(duì)象未訪問(wèn)所述第二前端頁(yè)面,所述目標(biāo)對(duì)象為爬蟲(chóng)。
[0089]計(jì)算單元204,用于計(jì)算所述反爬蟲(chóng)策略的誤傷率,所述誤傷率用于衡量所述反爬蟲(chóng)策略的安全性。
[0090]設(shè)誤傷率為Q,在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率為P,攔截到的所述第一數(shù)據(jù)的總數(shù)為C,第二前端頁(yè)面的總訪問(wèn)人數(shù)為O:
[0091]Q = C/P/0o
[0092]當(dāng)ρ = ι 時(shí),q = c/0。
[0093]比較單元205,用于比較所述誤傷率是否低于閾值,若是,則所述反爬蟲(chóng)策略安全;若否,則所述反爬蟲(chóng)策略不安全。其中,所述閾值可以自定義。如果所述反爬蟲(chóng)策略是安全的,那么可以正式部署到生產(chǎn)。
[0094]在需要同時(shí)檢測(cè)多個(gè)反爬蟲(chóng)策略時(shí),可以設(shè)定不同的反爬蟲(chóng)策略對(duì)應(yīng)不同的第一數(shù)據(jù)。在所述第二前端頁(yè)面分別統(tǒng)計(jì)攔截到的不同的第一數(shù)據(jù)的總數(shù),通過(guò)區(qū)別第一數(shù)據(jù)來(lái)判定各個(gè)反爬蟲(chóng)策略的安全性。
[0095]雖然以上描述了本發(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ù)范圍。
【主權(quán)項(xiàng)】
1.一種檢測(cè)反爬蟲(chóng)策略安全性的方法,其特征在于,所述方法包括: S1、在網(wǎng)站的第一前端頁(yè)面中嵌入用于實(shí)現(xiàn)反爬蟲(chóng)策略的反爬蟲(chóng)代碼; &、利用所述反爬蟲(chóng)代碼檢測(cè)訪問(wèn)所述第一前端頁(yè)面的用戶(hù)是否為爬蟲(chóng),將被檢測(cè)出是爬蟲(chóng)的用戶(hù)記為目標(biāo)對(duì)象; 53、驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng),統(tǒng)計(jì)所述目標(biāo)對(duì)象非爬蟲(chóng)的次數(shù); 54、根據(jù)所述次數(shù)計(jì)算所述反爬蟲(chóng)策略的誤傷率,所述誤傷率用于衡量所述反爬蟲(chóng)策略的安全性。2.如權(quán)利要求1所述的檢測(cè)反爬蟲(chóng)策略安全性的方法,其特征在于,S3通過(guò)以下步驟驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng): S31、判斷所述目標(biāo)對(duì)象是否訪問(wèn)所述網(wǎng)站的第二前端頁(yè)面,若是,則所述目標(biāo)對(duì)象非爬蟲(chóng),若否,則所述目標(biāo)對(duì)象為爬蟲(chóng)。3.如權(quán)利要求2所述的檢測(cè)反爬蟲(chóng)策略安全性的方法,其特征在于,所述反爬蟲(chóng)代碼包括前端部分,所述前端部分包括有用于檢測(cè)爬蟲(chóng)的代碼,S1包括: Sn、在網(wǎng)站的第一前端頁(yè)面中嵌入第一頁(yè)面; S12、將用于檢測(cè)爬蟲(chóng)的代碼配置到所述第一頁(yè)面中。4.如權(quán)利要求3所述的檢測(cè)反爬蟲(chóng)策略安全性的方法,其特征在于,所述反爬蟲(chóng)代碼還包括后臺(tái)部分,所述后臺(tái)部分用于在客戶(hù)端寫(xiě)入第一數(shù)據(jù)以及在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù); S1還包括:利用所述后臺(tái)部分在所述客戶(hù)端寫(xiě)入第一數(shù)據(jù); S3包括:利用所述后臺(tái)部分在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù); 所述誤傷率等于所述總數(shù)/所述第二前端頁(yè)面的總訪問(wèn)人數(shù)。5.如權(quán)利要求4所述的檢測(cè)反爬蟲(chóng)策略安全性的方法,其特征在于,Sn還包括:設(shè)定在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率; 所述誤傷率等于所述總數(shù)/所述概率/所述第二前端頁(yè)面的總訪問(wèn)人數(shù)。6.如權(quán)利要求4所述的檢測(cè)反爬蟲(chóng)策略安全性的方法,其特征在于,所述后臺(tái)部分還用于設(shè)定所述第一數(shù)據(jù)的有效時(shí)間,所述第一數(shù)據(jù)在超過(guò)所述有效時(shí)間時(shí)失效。7.如權(quán)利要求4所述的檢測(cè)反爬蟲(chóng)策略安全性的方法,其特征在于,不同的反爬蟲(chóng)策略對(duì)應(yīng)不同的第一數(shù)據(jù)。8.如權(quán)利要求1所述的檢測(cè)反爬蟲(chóng)策略安全性的方法,其特征在于,所述方法還包括: &、比較所述誤傷率是否低于閾值,若是,則所述反爬蟲(chóng)策略安全;若否,則所述反爬蟲(chóng)策略不安全。9.一種檢測(cè)反爬蟲(chóng)策略安全性的裝置,其特征在于,所述裝置包括: 嵌入單元,用于在網(wǎng)站的第一前端頁(yè)面中嵌入用于實(shí)現(xiàn)反爬蟲(chóng)策略的反爬蟲(chóng)代碼; 檢測(cè)單元,用于利用所述反爬蟲(chóng)代碼檢測(cè)訪問(wèn)所述第一前端頁(yè)面的用戶(hù)是否為爬蟲(chóng),將被檢測(cè)出是爬蟲(chóng)的用戶(hù)記為目標(biāo)對(duì)象; 驗(yàn)證單元,用于驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng),統(tǒng)計(jì)所述目標(biāo)對(duì)象非爬蟲(chóng)的次數(shù); 計(jì)算單元,用于根據(jù)所述次數(shù)計(jì)算所述反爬蟲(chóng)策略的誤傷率,所述誤傷率用于衡量所述反爬蟲(chóng)策略的安全性。10.如權(quán)利要求9所述的檢測(cè)反爬蟲(chóng)策略安全性的裝置,其特征在于,所述驗(yàn)證單元通過(guò)以下模塊驗(yàn)證所述目標(biāo)對(duì)象是否為爬蟲(chóng): 判斷模塊,用于判斷所述目標(biāo)對(duì)象是否訪問(wèn)所述網(wǎng)站的第二前端頁(yè)面,若是,則所述目標(biāo)對(duì)象非爬蟲(chóng),若否,則所述目標(biāo)對(duì)象為爬蟲(chóng)。11.如權(quán)利要求10所述的檢測(cè)反爬蟲(chóng)策略安全性的裝置,其特征在于,所述反爬蟲(chóng)代碼包括前端部分,所述前端部分包括有用于檢測(cè)爬蟲(chóng)的代碼,所述嵌入單元包括: 頁(yè)面模塊,用于在網(wǎng)站的第一前端頁(yè)面中嵌入第一頁(yè)面; 配置模塊,用于將用于檢測(cè)爬蟲(chóng)的代碼配置到所述第一頁(yè)面中。12.如權(quán)利要求10所述的檢測(cè)反爬蟲(chóng)策略安全性的裝置,其特征在于,所述反爬蟲(chóng)代碼還包括后臺(tái)部分,所述后臺(tái)部分用于在客戶(hù)端寫(xiě)入第一數(shù)據(jù)以及在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù); 所述嵌入單元還包括: 數(shù)據(jù)模塊,用于利用所述后臺(tái)部分在客戶(hù)端寫(xiě)入第一數(shù)據(jù); 所述驗(yàn)證單元包括: 攔截模塊,用于利用所述后臺(tái)部分在第二前端頁(yè)面攔截所述第一數(shù)據(jù)并統(tǒng)計(jì)攔截到的所述第一數(shù)據(jù)的總數(shù); 所述誤傷率等于所述總數(shù)/所述第二前端頁(yè)面的總訪問(wèn)人數(shù)。13.如權(quán)利要求12所述的檢測(cè)反爬蟲(chóng)策略安全性的裝置,其特征在于,所述頁(yè)面模塊還用于設(shè)定在所述第一前端頁(yè)面中嵌入所述第一頁(yè)面的概率; 所述誤傷率等于所述總數(shù)/所述概率/所述第二前端頁(yè)面的總訪問(wèn)人數(shù)。14.如權(quán)利要求12所述的檢測(cè)反爬蟲(chóng)策略安全性的裝置,其特征在于,所述后臺(tái)部分還用于設(shè)定所述第一數(shù)據(jù)的有效時(shí)間,所述第一數(shù)據(jù)在超過(guò)所述有效時(shí)間時(shí)失效。15.如權(quán)利要求12所述的檢測(cè)反爬蟲(chóng)策略安全性的裝置,其特征在于,不同的反爬蟲(chóng)策略對(duì)應(yīng)不同的第一數(shù)據(jù)。16.如權(quán)利要求9所述的檢測(cè)反爬蟲(chóng)策略安全性的裝置,其特征在于,所述裝置還包括: 比較單元,用于比較所述誤傷率是否低于閾值,若是,則所述反爬蟲(chóng)策略安全;若否,則所述反爬蟲(chóng)策略不安全。
【文檔編號(hào)】H04L29/06GK106027564SQ201610537443
【公開(kāi)日】2016年10月12日
【申請(qǐng)日】2016年7月8日
【發(fā)明人】崔廣宇, 李巍
【申請(qǐng)人】攜程計(jì)算機(jī)技術(shù)(上海)有限公司