亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法和設(shè)備的制作方法

文檔序號(hào):7982625閱讀:512來源:國(guó)知局
用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明的各實(shí)施方式涉及一種用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法和設(shè)備。具體地,提供了一種用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法,該方法包括:向客戶端發(fā)送腳本;從所述客戶端接收所述腳本的執(zhí)行結(jié)果;以及如果所述腳本的執(zhí)行結(jié)果不正確,則將所述客戶端識(shí)別為網(wǎng)絡(luò)機(jī)器人。并且,提供了一種與用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法對(duì)應(yīng)的設(shè)備。
【專利說明】用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的各實(shí)施方式總體上涉及計(jì)算機(jī)領(lǐng)域,并且更具體地涉及一種用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法和設(shè)備。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)機(jī)器人一般是指在諸如因特網(wǎng)之類的網(wǎng)絡(luò)上自動(dòng)執(zhí)行預(yù)定任務(wù)的軟件程序。許多網(wǎng)絡(luò)機(jī)器人被用于實(shí)現(xiàn)惡意目的以及/或者占用過多帶寬資源和/或計(jì)算資源,因此識(shí)別這些網(wǎng)絡(luò)機(jī)器人并限制其行為是非常重要的。又因?yàn)樵S多網(wǎng)絡(luò)機(jī)器人在一定程度上可以模仿真實(shí)用戶的行為,所以識(shí)別網(wǎng)絡(luò)機(jī)器人往往是比較困難的。
[0003]例如,存在幫助網(wǎng)絡(luò)游戲玩家取得不正當(dāng)收益的網(wǎng)絡(luò)機(jī)器人、在社交網(wǎng)絡(luò)或論壇上自動(dòng)發(fā)布廣告的網(wǎng)絡(luò)機(jī)器人、自動(dòng)張貼指向某網(wǎng)站的鏈接以提高該網(wǎng)站的搜索引擎排名的網(wǎng)絡(luò)機(jī)器人、在依賴于用戶評(píng)價(jià)的網(wǎng)站(諸如,餐館點(diǎn)評(píng)類網(wǎng)站、電子商務(wù)網(wǎng)站等)上自動(dòng)發(fā)布用戶評(píng)價(jià)的網(wǎng)絡(luò)機(jī)器人、幫助用戶進(jìn)行搶購(gòu)的網(wǎng)絡(luò)機(jī)器人等等。
[0004]現(xiàn)有技術(shù)中一種識(shí)別網(wǎng)絡(luò)機(jī)器人的措施是驗(yàn)證碼,例如顯示一串經(jīng)過變形處理的字符串并要求客戶端輸入所顯示的字符串,從而將不能正確識(shí)別該字符串的客戶端識(shí)別為機(jī)器人。然而,使用驗(yàn)證碼會(huì)劣化用戶體驗(yàn),并且已經(jīng)存在通過計(jì)算機(jī)文字識(shí)別、圖形識(shí)別、人力批量處理等方式來破解驗(yàn)證碼的方法。

【發(fā)明內(nèi)容】

[0005]本發(fā)明提供了一種用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法和設(shè)備,利用所述方法和設(shè)備,能夠以較高的準(zhǔn)確率識(shí)別出網(wǎng)絡(luò)機(jī)器人。
[0006]根據(jù)本發(fā)明的一方面,提供了一種用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法,其包括以下步驟:向客戶端發(fā)送腳本;從所述客戶端接收所述腳本的執(zhí)行結(jié)果;以及如果所述腳本的執(zhí)行結(jié)果不正確,則將所述客戶端識(shí)別為網(wǎng)絡(luò)機(jī)器人。
[0007]根據(jù)本發(fā)明的另一方面,提供了一種用于識(shí)別網(wǎng)絡(luò)機(jī)器人的設(shè)備,其包括:發(fā)送裝置,配置用于向客戶端發(fā)送腳本;接收裝置,配置用于從所述客戶端接收所述腳本的執(zhí)行結(jié)果;以及識(shí)別裝置,配置用于如果所述腳本的執(zhí)行結(jié)果不正確,則將所述客戶端識(shí)別為網(wǎng)絡(luò)機(jī)器人。
【專利附圖】

【附圖說明】
[0008]通過參考附圖閱讀下文的詳細(xì)描述,本發(fā)明實(shí)施方式的上述以及其他目的、特征和優(yōu)點(diǎn)將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實(shí)施方式,其中:
[0009]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法100的流程圖;
[0010]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于識(shí)別網(wǎng)絡(luò)機(jī)器人的設(shè)備200的示意性框圖;以及
[0011]圖3示出了適于用來實(shí)踐本發(fā)明實(shí)施方式的計(jì)算機(jī)系統(tǒng)300的示意性框圖?!揪唧w實(shí)施方式】
[0012]下面將參考若干示例性實(shí)施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。
[0013]下面參考圖1,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法100的流程圖。
[0014]在步驟SlOl中,向客戶端發(fā)送腳本。在日常網(wǎng)絡(luò)上的一些應(yīng)用中,網(wǎng)絡(luò)機(jī)器人可以模擬真實(shí)用戶來提交信息(諸如,消息、日志等)。通常瀏覽器在向服務(wù)器提交信息時(shí)會(huì)產(chǎn)生HTTP (超文本傳輸協(xié)議)數(shù)據(jù)包,在該HTTP數(shù)據(jù)被包封裝好之后,由于服務(wù)器無法區(qū)分該HTTP數(shù)據(jù)包是由網(wǎng)絡(luò)機(jī)器人偽裝好的還是由真實(shí)用戶生成的,因此服務(wù)器需要向客戶端發(fā)送腳本,以使瀏覽器進(jìn)行額外的計(jì)算。
[0015]在步驟S102中,從所述客戶端接收所述腳本的執(zhí)行結(jié)果。在客戶端接收到腳本之后,由瀏覽器對(duì)其進(jìn)行執(zhí)行,并將所述腳本的執(zhí)行結(jié)果返回給服務(wù)器。由于只有瀏覽器才會(huì)對(duì)所述腳本進(jìn)行執(zhí)行從而得到執(zhí)行結(jié)果,而如果網(wǎng)絡(luò)機(jī)器人也期望得到腳本的執(zhí)行結(jié)果,則需要對(duì)所述腳本進(jìn)行執(zhí)行,即,網(wǎng)絡(luò)機(jī)器人需要將所述腳本解析并將其放入真正的容器中進(jìn)行執(zhí)行才能夠得到該腳本對(duì)應(yīng)的執(zhí)行結(jié)果,這增加了網(wǎng)絡(luò)機(jī)器人的開發(fā)成本,從而可以有效防止網(wǎng)絡(luò)機(jī)器人。
[0016]在步驟S103中,如果所述腳本的執(zhí)行結(jié)果不正確,則將所述客戶端識(shí)別為網(wǎng)絡(luò)機(jī)器人。由于向客戶端發(fā)送的腳本是由服務(wù)器生成的,因此服務(wù)器知道該腳本的執(zhí)行結(jié)果(即,服務(wù)器也會(huì)對(duì)所述腳本進(jìn)行執(zhí)行)。所以當(dāng)從所述客戶端接收所述腳本的執(zhí)行結(jié)果不正確時(shí)(即,與服務(wù)器執(zhí)行該腳本得到的執(zhí)行結(jié)果不同),服務(wù)器可以將所述客戶端識(shí)別為網(wǎng)絡(luò)機(jī)器人。相應(yīng)地,當(dāng)從所述客戶端接收所述腳本的執(zhí)行結(jié)果正確時(shí)(即,與服務(wù)器執(zhí)行該腳本得到的執(zhí)行結(jié)果相同),服務(wù)器可以將所述客戶端識(shí)別為真實(shí)用戶。
[0017]在一個(gè)實(shí)施方式中,向客戶端發(fā)送的腳本是JavaScript。這是因?yàn)镴avaScript是一種動(dòng)態(tài)、弱類型、基于原型的語言,通過瀏覽器便可以直接執(zhí)行,也是目前網(wǎng)頁中設(shè)計(jì)中最容易學(xué)又最方便的語言,并且大多數(shù)網(wǎng)絡(luò)機(jī)器人還不具備對(duì)JavaScript的解析能力。
[0018]在一個(gè)實(shí)施方式中,向客戶端發(fā)送的腳本是Flash。這是因?yàn)镕lash在執(zhí)行的時(shí)候是已經(jīng)編譯完的,網(wǎng)絡(luò)機(jī)器人如果想從中截取包含在腳本中的算法幾乎是不可能的(例如,網(wǎng)絡(luò)機(jī)器人需要對(duì)該Flash進(jìn)行反向工程,這大大增加了網(wǎng)絡(luò)機(jī)器人的開發(fā)成本)。
[0019]在一個(gè)實(shí)施方式中,向客戶端發(fā)送的腳本是隨機(jī)生成的。通過此方式,避免了網(wǎng)絡(luò)機(jī)器人預(yù)測(cè)腳本的執(zhí)行結(jié)果。例如,網(wǎng)絡(luò)機(jī)器人通過復(fù)制上一次腳本的執(zhí)行結(jié)果來預(yù)測(cè)下一次腳本的執(zhí)行結(jié)果等。
[0020]在一個(gè)實(shí)施方式中,隨機(jī)生成所述腳本包括隨機(jī)生成所述腳本中的參數(shù)和/或運(yùn)算符。其中,參數(shù)和/或運(yùn)算符可以包括但不限于:數(shù)字、符號(hào)、加、減、乘、除、與非、異或等,并且還可以限制運(yùn)算長(zhǎng)度(例如,最少需要進(jìn)行4次運(yùn)算,最多進(jìn)行8次運(yùn)算等)其中的運(yùn)算過程完全隨機(jī)。上述過程例如可以通過建立參數(shù)和/或運(yùn)算符表,通過產(chǎn)生隨機(jī)數(shù)從所述參數(shù)和/或運(yùn)算符表中選取相應(yīng)的參數(shù)和/或運(yùn)算符進(jìn)行運(yùn)算的方式實(shí)現(xiàn)。通過此方式,如果網(wǎng)絡(luò)機(jī)器人也期望得到所述腳本的執(zhí)行結(jié)果,則網(wǎng)絡(luò)機(jī)器人需要將所述腳本解析并將其放入真正的容器中進(jìn)行執(zhí)行才能夠得到該腳本對(duì)應(yīng)的執(zhí)行結(jié)果,這增加了網(wǎng)絡(luò)機(jī)器人的開發(fā)成本,從而可以有效防止網(wǎng)絡(luò)機(jī)器人。
[0021]在一個(gè)實(shí)施方式中,向客戶端發(fā)送的腳本是經(jīng)過混淆的。例如,變量名可以使用ASCII來表示。當(dāng)腳本被網(wǎng)絡(luò)機(jī)器人捕獲時(shí),所顯示的內(nèi)容可能是亂碼,從而可以有效避免簡(jiǎn)單的語義解析(主要是防止人對(duì)其進(jìn)行解析)。
[0022]在一個(gè)實(shí)施方式中,所述混淆包括在所述腳本中改變以下中的一種或多種:縮進(jìn)、空格、空行、注釋、變量名、方法名、屬性名、類名。
[0023]應(yīng)當(dāng)注意,上述處理過程對(duì)于客戶端的瀏覽器而言是沒有影響的,S卩,瀏覽器可以按照腳本中的步驟得到正確的腳本執(zhí)行結(jié)果。并且,可以采用結(jié)合以上處理過程中的一種或多種的更復(fù)雜的算法來進(jìn)行對(duì)網(wǎng)絡(luò)機(jī)器人的識(shí)別。
[0024]在實(shí)際應(yīng)用中,不宜過多使用根據(jù)本發(fā)明的實(shí)施方式的方法來識(shí)別網(wǎng)絡(luò)機(jī)器人,這是因?yàn)橛锌赡軙?huì)使得網(wǎng)絡(luò)機(jī)器人開發(fā)者以高成本開發(fā)出來符合本發(fā)明的實(shí)施方式的方法的網(wǎng)絡(luò)機(jī)器人,并且上述網(wǎng)絡(luò)機(jī)器人一旦被開發(fā)出來(由于其可復(fù)制性)便可以應(yīng)用到所有需要用戶提交信息的應(yīng)用中。因此,優(yōu)選地在關(guān)鍵業(yè)務(wù)上應(yīng)用根據(jù)本發(fā)明的實(shí)施方式的方法來識(shí)別網(wǎng)絡(luò)機(jī)器人。備選地或附加地,還可以在某些業(yè)務(wù)的流量突然猛增時(shí),應(yīng)用根據(jù)本發(fā)明的實(shí)施方式的方法來識(shí)別是否出現(xiàn)網(wǎng)絡(luò)機(jī)器人,在所述業(yè)務(wù)的流量恢復(fù)正常后,停止使用根據(jù)本發(fā)明的實(shí)施方式的方法。
[0025]下面參考圖2,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于識(shí)別網(wǎng)絡(luò)機(jī)器人的設(shè)備200的示意性框圖。設(shè)備200包括:發(fā)送裝置,配置用于向客戶端發(fā)送腳本;接收裝置,配置用于從所述客戶端接收所述腳本的執(zhí)行結(jié)果;以及識(shí)別裝置,配置用于如果所述腳本的執(zhí)行結(jié)果不正確,則將所述客戶端識(shí)別為網(wǎng)絡(luò)機(jī)器人。
[0026]在一個(gè)實(shí)施方式中,向客戶端發(fā)送的腳本是JavaScript。
[0027]在一個(gè)實(shí)施方式中,向客戶端發(fā)送的腳本是Flash。
[0028]在一個(gè)實(shí)施方式中,向客戶端發(fā)送的腳本是隨機(jī)生成的。
[0029]在一個(gè)實(shí)施方式中,隨機(jī)生成所述腳本包括隨機(jī)生成所述腳本中的參數(shù)和/或運(yùn)算符。
[0030]在一個(gè)實(shí)施方式中,向客戶端發(fā)送的腳本是經(jīng)過混淆的。
[0031]在一個(gè)實(shí)施方式中,所述混淆包括在所述腳本中改變以下中的一種或多種:縮進(jìn)、空格、空行、注釋、變量名、方法名、屬性名、類名。
[0032]為清晰起見,在圖2中并未示出各個(gè)裝置所包含的子裝置。然而,應(yīng)當(dāng)理解,設(shè)備200中記載的裝置與分別參考圖1描述的方法100中的步驟相對(duì)應(yīng)。由此,上文針對(duì)圖1的方法100描述的操作和特征同樣適用于設(shè)備200及其中包含的裝置和子裝置,在此不再贅述。
[0033]應(yīng)當(dāng)理解,設(shè)備200可以利用各種方式來實(shí)現(xiàn)。例如,在某些實(shí)施方式中,設(shè)備200可以利用軟件和/或固件模塊來實(shí)現(xiàn)。此外,設(shè)備200也可以利用硬件模塊來實(shí)現(xiàn)。例如,設(shè)備200可以實(shí)現(xiàn)為集成電路(IC)芯片或?qū)S眉呻娐?ASIC)。設(shè)備200也可以實(shí)現(xiàn)為片上系統(tǒng)(SOC)。此外,設(shè)備200也可以利用硬件模塊和軟件和/或固件模塊的組合來實(shí)現(xiàn)?,F(xiàn)在已知或者將來開發(fā)的其他方式也是可行的,本發(fā)明的范圍在此方面不受限制。
[0034]圖3示出了適于用來實(shí)踐本發(fā)明實(shí)施方式的計(jì)算機(jī)系統(tǒng)300的示意性框圖。如圖3所示,計(jì)算機(jī)系統(tǒng)300可以包括:CPU(中央處理單元)301、RAM (隨機(jī)存取存儲(chǔ)器)302、ROM(只讀存儲(chǔ)器)303、系統(tǒng)總線304、硬盤控制器305、鍵盤控制器306、串行接口控制器307、并行接口控制器308、顯示控制器309、硬盤310、鍵盤311、串行外部設(shè)備312、并行外部設(shè)備313和顯示器314。在這些設(shè)備中,與系統(tǒng)總線304耦合的有CPU 301、RAM 302、ROM303、硬盤控制器305、鍵盤控制器306、串行控制器307、并行控制器308和顯示控制器309。硬盤310與硬盤控制器305耦合,鍵盤311與鍵盤控制器306耦合,串行外部設(shè)備312與串行接口控制器307耦合,并行外部設(shè)備313與并行接口控制器308耦合,以及顯示器314與顯示控制器309耦合。應(yīng)當(dāng)理解,圖3所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,而不是對(duì)本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設(shè)備。
[0035]應(yīng)當(dāng)注意,本發(fā)明的實(shí)施方式可以通過硬件、軟件或者軟件和硬件的結(jié)合來實(shí)現(xiàn)。硬件部分可以利用專用邏輯來實(shí)現(xiàn);軟件部分可以存儲(chǔ)在存儲(chǔ)器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如微處理器或者專用設(shè)計(jì)硬件來執(zhí)行。本領(lǐng)域的普通技術(shù)人員可以理解上述的設(shè)備和方法可以使用計(jì)算機(jī)可執(zhí)行指令和/或包含在處理器控制代碼中來實(shí)現(xiàn),例如在諸如磁盤、CD或DVD-ROM的載體介質(zhì)、諸如只讀存儲(chǔ)器(固件)的可編程的存儲(chǔ)器或者諸如光學(xué)或電子信號(hào)載體的數(shù)據(jù)載體上提供了這樣的代碼。本發(fā)明的設(shè)備及其模塊可以由諸如超大規(guī)模集成電路或門陣列、諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場(chǎng)可編程門陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實(shí)現(xiàn),也可以用由各種類型的處理器執(zhí)行的軟件實(shí)現(xiàn),也可以由上述硬件電路和軟件的結(jié)合例如固件來實(shí)現(xiàn)。
[0036]應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了設(shè)備的若干裝置或子裝置,但是這種劃分僅僅并非強(qiáng)制性的。實(shí)際上,根據(jù)本發(fā)明的實(shí)施方式,上文描述的兩個(gè)或更多裝置的特征和功能可以在一個(gè)裝置中具體化。反之,上文描述的一個(gè)裝置的特征和功能可以進(jìn)一步劃分為由多個(gè)裝置來具體化。
[0037]此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。
[0038]雖然已經(jīng)參考若干【具體實(shí)施方式】描述了本發(fā)明,但是應(yīng)該理解,本發(fā)明并不限于所公開的【具體實(shí)施方式】。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。所附權(quán)利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結(jié)構(gòu)和功能。
【權(quán)利要求】
1.一種用于識(shí)別網(wǎng)絡(luò)機(jī)器人的方法,其包括以下步驟: 向客戶端發(fā)送腳本; 從所述客戶端接收所述腳本的執(zhí)行結(jié)果;以及 如果所述腳本的執(zhí)行結(jié)果不正確,則將所述客戶端識(shí)別為網(wǎng)絡(luò)機(jī)器人。
2.根據(jù)權(quán)利要求1所述的方法,其中所述腳本是JavaScript。
3.根據(jù)權(quán)利要求1所述的方法,其中所述腳本是Flash。
4.根據(jù)權(quán)利要求1所述的方法,其中所發(fā)送的腳本是隨機(jī)生成的。
5.根據(jù)權(quán)利要求4所述的方法,其中隨機(jī)生成所述腳本包括隨機(jī)生成所述腳本中的參數(shù)和/或運(yùn)算符。
6.根據(jù)權(quán)利要求1所述的方法,其中所發(fā)送的腳本是經(jīng)過混淆的。
7.根據(jù)權(quán)利要求6所述的方法,其中所述混淆包括在所述腳本中改變以下中的一種或多種:縮進(jìn)、空格、空行、注釋、變量名、方法名、屬性名、類名。
8.一種用于識(shí)別網(wǎng)絡(luò)機(jī)器人的設(shè)備,其包括以下步驟: 發(fā)送裝置,配置用于向客戶端發(fā)送腳本; 接收裝置,配置用于從所述客戶端接收所述腳本的執(zhí)行結(jié)果;以及識(shí)別裝置,配置用于如果所述腳本的執(zhí)行結(jié)果不正確,則將所述客戶端識(shí)別為網(wǎng)絡(luò)機(jī)器人。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述腳本是JavaScript。
10.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述腳本是Flash。
11.根據(jù)權(quán)利要求8所述的設(shè)備,其中所發(fā)送的腳本是隨機(jī)生成的。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其中隨機(jī)生成所述腳本包括隨機(jī)生成所述腳本中的參數(shù)和/或運(yùn)算符。
13.根據(jù)權(quán)利要求8所述的設(shè)備,其中所發(fā)送的腳本是經(jīng)過混淆的。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述混淆包括在所述腳本中改變以下中的一種或多種:縮進(jìn)、空格、空行、注釋、變量名、方法名、屬性名、類名。
【文檔編號(hào)】H04L29/08GK103634366SQ201210315083
【公開日】2014年3月12日 申請(qǐng)日期:2012年8月27日 優(yōu)先權(quán)日:2012年8月27日
【發(fā)明者】劉丹 申請(qǐng)人:北京千橡網(wǎng)景科技發(fā)展有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1