本發(fā)明涉及網(wǎng)絡安全領域,具體涉及一種人機識別方法、服務端、客戶端及人機識別系統(tǒng)。
背景技術:
互聯(lián)網(wǎng)的近幾年的快速發(fā)生,豐富娛樂了人們的生活,越來越多的人選擇使用互聯(lián)網(wǎng)進行日常金融操作,例如登錄網(wǎng)上銀行管理銀行賬戶、在線購物等。而互聯(lián)網(wǎng)也常常伴隨有黑客的活動。黑客們利用網(wǎng)絡機器人,例如自動化腳本、桌面或服務端程序等,能夠以全自動暴力破解的方式快速破解數(shù)據(jù)敏感度比較高的使用場景,獲得普通用戶的各種隱私信息,例如銀行賬戶密碼、在線購物的登錄密碼等,嚴重危害用戶利益。目前業(yè)界普遍使用的防護方法是全自動區(qū)分計算機和人類的圖靈測試(captcha,completelyautomatedpublicturingtesttotellcomputersandhumansapart),即在用戶到達存在敏感數(shù)據(jù)操作的應用登錄界面時,系統(tǒng)會在后臺生成一幅圖片并在圖片上嵌入一個隨機字符串,當客戶端發(fā)送登錄請求給服務端時,如果服務端檢測到了客戶端發(fā)送來了正確的圖片上的字符串內(nèi)容,則認為此時的客戶端為普通用戶在操作而不是網(wǎng)絡機器人,因為普遍認為機器是很難快速、動態(tài)且準確的識別出圖片上的隨機字符串的。
captcha技術雖然一定程度上的解決了人機識別的大部分工作,但同時也極大的影響了人們操作的流暢性。特別是當用戶使用的上網(wǎng)設備為移動終端時,辨別圖片上的隨機數(shù)字并輸入是非常繁瑣的。因而現(xiàn)有的人機識別技術造成了用戶操作時效率及流暢度的低下。
技術實現(xiàn)要素:
針對現(xiàn)有技術,本發(fā)明提供了一種人機識別方法、服務端、客戶端和人機識別系統(tǒng),旨在保證人機識別效率的同時,提高用戶的操作的操作效率及流暢度。
本發(fā)明目的之一在于提供了一種人機識別方法,其包括以下步驟:
服務端接收客戶端發(fā)送的操作請求,與所述客戶端建立連接;
在所述服務端中生成隨機代碼片段作為待執(zhí)行代碼段,并將所述待執(zhí)行代碼段發(fā)送至所述客戶端,其中,所述待執(zhí)行代碼段為只能在預設的客戶端運行環(huán)境下執(zhí)行的代碼段;
所述服務端接收并驗證所述客戶端發(fā)送的執(zhí)行了待執(zhí)行代碼段后的執(zhí)行結果;
若所述執(zhí)行結果驗證通過,則將人機識別結果確定為用戶在預設客戶端的操作;
若所述執(zhí)行結果驗證未通過,則將人機識別結果確定為機器操作。
本發(fā)明目的之二在于的提供了一種人機識別方法,其包括以下步驟:
客戶端向服務端發(fā)送操作請求,與所述服務端建立連接;
所述客戶端接收并執(zhí)行所述服務端發(fā)送的待執(zhí)行代碼段,得到執(zhí)行結果;
將所述執(zhí)行結果發(fā)送至所述服務端,以便于所述服務端基于所述執(zhí)行結果進行人機識別。
本發(fā)明目的之三在于提供了一種服務端,其包括:
連接建立單元,用于接收客戶端發(fā)送的操作請求,與所述客戶端建立連接;
代碼生成單元,用于生成隨機代碼片段作為待執(zhí)行代碼段,其中,所述待執(zhí)行代碼段為只能在預設的客戶端運行環(huán)境下執(zhí)行的代碼段;
數(shù)據(jù)發(fā)送單元,用于將所述代碼生成單元生成的待執(zhí)行代碼段發(fā)送至所述客戶端;
驗證單元,用于接收并驗證所述客戶端發(fā)送的執(zhí)行了待執(zhí)行代碼段后的執(zhí)行結果;
人機識別結果確定單元,用于在所述執(zhí)行結果通過所述驗證單元的驗證時,將人機識別結果確定為用戶在預設客戶端的操作,在所述執(zhí)行結果未通過所述驗證單元的驗證時,將人機識別結果確定為機器操作。
本發(fā)明目的之四在于提供了一種客戶端,其包括:
連接建立單元,用于向服務端發(fā)送操作請求,并與所述服務端建立連接;
數(shù)據(jù)接收單元,用于接收所述服務端發(fā)送的待執(zhí)行代碼段,
代碼執(zhí)行單元,用于執(zhí)行所述數(shù)據(jù)接收單元接收的待執(zhí)行代碼段,得到執(zhí)行結果;
執(zhí)行結果發(fā)送單元,用于將所述代碼執(zhí)行單元得到的執(zhí)行結果發(fā)送至服務端,以便于所述服務端基于所述執(zhí)行結果進行人機識別。
本發(fā)明目的之五在于提供了一種人機識別系統(tǒng),其包括如上所述的服務端和與如上所述的服務端相連的如上所述的客戶端。
由上可見,在本發(fā)明方案中,由服務端接收客戶端發(fā)送的操作請求,與客戶端建立連接,并在服務端中生成隨機代碼片段作為待執(zhí)行代碼段,將所述待執(zhí)行代碼段發(fā)送至所述客戶端后,由所述服務端接收并驗證客戶端發(fā)送的執(zhí)行了待執(zhí)行代碼段后的執(zhí)行結果,若所述執(zhí)行結果驗證通過,則將人機識別結果確定為用戶在預設客戶端的操作,若所述執(zhí)行結果驗證未通過,則將人機識別結果確定為機器操作。本發(fā)明方案無需用戶參與到人機識別的過程中,免去了用戶繁瑣的操作,能夠大大提高用戶操作的效率及流暢度。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的人機識別方法的實現(xiàn)流程圖;
圖2為本發(fā)明實施例提供的人機識別方法步驟s102的一種具體實現(xiàn)流程圖;
圖3為本發(fā)明實施例提供的另一種人機識別方法的實現(xiàn)流程圖;
圖4為本發(fā)明實施例提供的服務端的結構框圖;
圖5為本發(fā)明實施例提供的客戶端的結構框圖;
圖6為本發(fā)明實施例提供的人機識別系統(tǒng)的結構框圖。
具體實施方式
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
以下結合具體實施例對本發(fā)明的實現(xiàn)進行詳細描述:
實施例一
圖1示出了本發(fā)明實施例一提供的人機識別方法的實現(xiàn)流程,詳述如下:
在步驟s101中,服務端接收客戶端發(fā)送的操作請求,與上述客戶端建立連接。
在本發(fā)明實施例中,服務端首先接收客戶端發(fā)送的操作請求,并在當上述服務端并未與上述客戶端建立連接時,與上述客戶端建立網(wǎng)絡連接。上述客戶端發(fā)送的操作請求可以是請求訪問敏感度較高的頁面,例如請求訪問需要用戶輸入賬號及密碼以進行登錄的登錄頁面、信息下載頁面或者是用戶個人隱私度較高的頁面。在上述這些操作請求下,才需要對這些操作進行人機識別,避免網(wǎng)絡機器人對敏感信息的竊取。當然,在接收到其它類型的操作請求時,也可以對客戶端使用本發(fā)明實施例方案進行人機識別,此處不作限定。
在步驟s102中,在上述服務端中生成隨機代碼片段作為待執(zhí)行代碼段,并將上述待執(zhí)行代碼段發(fā)送至上述客戶端。
在本發(fā)明實施例中,服務端將在與客戶端建立連接后,生成隨機代碼片段作為待執(zhí)行代碼段,并作為對上述客戶端發(fā)送的操作請求的響應,將上述待執(zhí)行代碼段伴隨客戶端請求訪問的頁面,例如登錄頁面等,發(fā)送至客戶端,其中,上述待執(zhí)行代碼段為只能在預設的客戶端運行環(huán)境下執(zhí)行的代碼段,例如javascript代碼,通常情況下普通用戶使用的訪問網(wǎng)絡頁面的客戶端,即主流瀏覽器,都具備執(zhí)行javascript代碼的功能。為了保證上述待執(zhí)行代碼段只有主流瀏覽器能夠執(zhí)行,網(wǎng)絡機器人如各種測試工具等無法執(zhí)行與使用,開發(fā)人員前期在服務端中進行統(tǒng)一資源定位符(uniformresourcelocator,url)的應用程序編程接口(applicationprogramminginterface,api)的設計時,需保證其是提供給主流瀏覽器的??蛇x地,服務端會在將上述待執(zhí)行代碼段發(fā)送至上述客戶端之前,保存一份預設運行環(huán)境下的正確執(zhí)行結果,作為對后續(xù)客戶端發(fā)送的執(zhí)行結果的進行驗證的參考基準。進一步地,為了防止數(shù)據(jù)傳輸過程中信息的泄露,保證通信數(shù)據(jù)的安全,上述待執(zhí)行代碼段在發(fā)送至客戶端之前,可以先作強混淆處理。還可以在發(fā)送至客戶端的數(shù)據(jù)中攜帶隨機加密秘鑰,防止網(wǎng)絡機器人利用服務端已進行過身份驗證的數(shù)據(jù)進行欺騙。
在步驟s103中,上述服務端接收并驗證上述客戶端發(fā)送的執(zhí)行了待執(zhí)行代碼段后的執(zhí)行結果。
在本發(fā)明實施例中,在服務端在發(fā)送了待執(zhí)行代碼段至上述客戶端后,客戶端會執(zhí)行上述待執(zhí)行代碼段并得到執(zhí)行結果,即得到待執(zhí)行代碼段的返回值,在下一次客戶端發(fā)送數(shù)據(jù)至服務端時,上述執(zhí)行結果將一并被發(fā)送至服務端。服務端接收了客戶端發(fā)送的上述執(zhí)行結果后,會對上述執(zhí)行結果進行驗證,以確定跟服務端進行會話的是普通用戶還是網(wǎng)絡機器人。
在步驟s104中,若上述執(zhí)行結果驗證通過,則將人機識別結果確定為用戶在預設客戶端的操作,若上述執(zhí)行結果驗證未通過,則將人機識別結果確定為機器操作。
在本發(fā)明實施例中,由于上述待執(zhí)行代碼段只能在特定的客戶端運行環(huán)境下執(zhí)行,因此只要上述執(zhí)行結果與上述服務端保存的正確執(zhí)行結果一致,就認為此時與服務端進行通話的不是網(wǎng)絡機器人,而是普通用戶,因為網(wǎng)絡機器人往往是在非瀏覽器模式直接向服務端發(fā)送請求并實現(xiàn)暴力破解,無法執(zhí)行上述待執(zhí)行代碼段,自然也無法獲得正確的執(zhí)行結果。此時,人機識別結果被確定為用戶在預設客戶端的操作,服務端將繼續(xù)驗證用戶的其它信息是否正確,例如用戶名及密碼是否匹配等。相反的,若接收到的上述執(zhí)行結果與上述服務端保存的正確執(zhí)行結果不一致,則認為此時與服務端進行通話的是網(wǎng)絡機器人,人機識別結果被確定為機器操作,服務端可以選擇結束與客戶端的對話,也可以選擇返回步驟s101,重復上述步驟,再次進行驗證。
可選地,為了降低待執(zhí)行代碼段被破解的風險,在將上述待執(zhí)行代碼段發(fā)送至上述客戶端之前,上述人機識別方法還包括:
在上述待執(zhí)行代碼段中加入延時算法和/或客戶端的信息指紋。
其中,雖然步驟s101至步驟s104已經(jīng)能夠保證網(wǎng)絡機器人無法模擬客戶端獲取用于人機識別的待執(zhí)行代碼段,確保了與服務端進行對話的一定是普通用戶使用的主流瀏覽器,但是,可能會出現(xiàn)攻擊者是在瀏覽器環(huán)境下作暴力破解的情況,因而,上述人機識別方法仍然存在一定的隱患。為了徹底杜絕此類情況,可以在待執(zhí)行代碼段中加入延時算法,例如,每次執(zhí)行完后需要等待一定時間才能返回執(zhí)行結果,這樣在攻擊者使用的是瀏覽器暴力破解,解析過程較為低效的情況下,再在待執(zhí)行代碼段中加入延時算法可以大大降低在瀏覽器環(huán)境下執(zhí)行暴力破解的風險。
或者,還可以在待執(zhí)行代碼段中加入客戶端的信息指紋。其中,客戶端的信息指紋包括軟件指紋及硬件指紋。軟件指紋為,不同的服務端中服務器的操作系統(tǒng),web容器等會影響到http頭信息的順序。硬件指紋為,由于反向透明代理系統(tǒng)的存在,客戶端與服務端之間的映射關系等信息也會影響到http頭信息。由于網(wǎng)絡機器人進行暴力破解時并不關注或者涵蓋客戶端信息指紋的差異,因而,通過對信息指紋的完整性檢驗,能夠達到服務端發(fā)送給客戶端的代碼只有在預設的客戶端環(huán)境下才能夠運行的目的,進一步提高客戶端與服務端之間的通信安全性。
圖2示出了步驟s102的一種具體實現(xiàn)流程:
在步驟s201中,在預設的服務端隨機算法庫中抽取任一隨機算法作為目標隨機算法。
在步驟s202中,上述服務端調(diào)用上述目標隨機算法生成函數(shù)名、變量名均隨機的隨機函數(shù),作為上述待執(zhí)行代碼段。
在本發(fā)明實施例中,由開發(fā)人員預先在服務端構建一個隨機算法庫,每次需要生成待執(zhí)行代碼段時,在后臺從上述隨機算法庫中抽取任意一個隨機算法作為目標隨機算法,并在隨機函數(shù)的內(nèi)部調(diào)用該目標隨機算法。并且,該隨機函數(shù)的函數(shù)名稱,變量名稱及函數(shù)返回值均為隨機生成的。因為自動化工具永遠不知道服務端生成的待生成代碼段是什么,也就無法自動識別和執(zhí)行了,以此能夠防止自動化工具等類型的網(wǎng)絡機器人在非瀏覽器模式下直接向上述服務端發(fā)送請求并實現(xiàn)暴力破解。
在步驟s203中,將上述執(zhí)行代碼段放入http響應體的隨機位置,發(fā)送至客戶端。
在本發(fā)明實施例中,為了防止網(wǎng)絡機器人針對待執(zhí)行代碼段在http響應體的位置,找到待執(zhí)行代碼段并執(zhí)行,在將待執(zhí)行代碼段放入http響應體時,隨機的設置待執(zhí)行代碼段的存放位置,以避免網(wǎng)絡機器人找到待執(zhí)行代碼段的固定位置并實現(xiàn)破解。
由上可知,在本發(fā)明實施例中,在服務端中生成只有在預設的客戶端運行環(huán)境下才能執(zhí)行的代碼段,并在接收了客戶端返回的執(zhí)行結果后進行驗證,實現(xiàn)對客戶端的人機識別,提供了透明的、用戶無感知的人機識別方法。運用本發(fā)明方案,無需再在登錄、注冊等頁面要求用戶輸出captcha,達到了用戶體驗與安全性之間的平衡。同時,由于待執(zhí)行代碼段只能在預設的客戶端運行環(huán)境下執(zhí)行,因此能夠限制非標準客戶端使用服務提供者提供的服務,也即是能夠防止api的盜用。
本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,相應的程序可以存儲于一計算機可讀取存儲介質(zhì)中,上述的存儲介質(zhì),如rom/ram、磁盤或光盤等。
實施例二
圖3示出了本發(fā)明實施例二提供的一種人機識別方法的實現(xiàn)流程,詳述如下;
在步驟s301中,客戶端向服務端發(fā)送操作請求,與上述服務端建立連接。
在步驟s302中,上述客戶端接收并執(zhí)行上述服務端發(fā)送的待執(zhí)行代碼段,得到執(zhí)行結果。
在本發(fā)明實施例中,在用戶需要訪問敏感度較高的頁面時,客戶端先向服務端發(fā)起應用請求,與上述服務端建立網(wǎng)絡連接。在與服務端建立連接后,服務端將對客戶端發(fā)起的應用請求作出響應,在http響應體中包含有待執(zhí)行代碼段。上述客戶端將會在服務端的http響應體中找到并執(zhí)行上述待執(zhí)行代碼段。其中,上述待執(zhí)行代碼段為預設的客戶端環(huán)境下才能執(zhí)行的代碼段,例如javascript代碼。通常情況下,普通用戶使用的訪問網(wǎng)絡頁面的客戶端為web客戶端,即主流瀏覽器??蛇x地,由于上述javascript代碼在http響應體當中的位置隨機,雖然可以一定程度的防止網(wǎng)絡機器人對其進行暴力破解,但是,網(wǎng)絡機器人仍可能通過文檔對象模型(htmldocumentobjectmodel,htmldom)的可擴展標記語言路徑語言(xmlpathlanguage,xpath)找到位于http響應體隨機位置的待執(zhí)行代碼段,因此,需要在web應用的view層增加隨機算法,根據(jù)上述view層的隨機算法將上述待執(zhí)行代碼段保存于上述web客戶端的隨機位置上并保證可以正確執(zhí)行,以避免網(wǎng)絡機器人仿真的執(zhí)行上述待執(zhí)行代碼段完成暴力破解。
在步驟s303中,將上述執(zhí)行結果發(fā)送至服務端,以便于上述服務端基于上述執(zhí)行結果進行人機識別。
在本發(fā)明實施例中,上述步驟s301至s302確保了只有在預設的客戶端運行環(huán)境下才能執(zhí)行服務端發(fā)送的待執(zhí)行代碼段,在獲得待執(zhí)行代碼段的執(zhí)行結果后,在下一次向服務端發(fā)起數(shù)據(jù)傳輸時,例如用戶在登錄頁面上輸入了用戶名及密碼并提交請求后,將上述待執(zhí)行結果與用戶的用戶名及密碼一并發(fā)送至上述服務端,等待服務端對執(zhí)行結果及用戶信息進行驗證。
由上可見,在本發(fā)明實施例中,由于服務端發(fā)送到客戶端的待執(zhí)行代碼段為只有在預設的客戶端運行環(huán)境下才能執(zhí)行的代碼段,具備不可繞過性,用戶無需再在客戶端的登錄、注冊等頁面輸入captcha,達到了用戶體驗與安全性之間的平衡,提供了透明的、用戶無感知的人機識別方法。同時,由于待執(zhí)行代碼段只能在預設的客戶端運行環(huán)境下執(zhí)行,因此能夠限制非標準客戶端使用服務提供者提供的服務,也即是能夠防止api的盜用。
實施例三
圖4示出了本發(fā)明實施例三提供的服務端的具體結構框圖,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。該服務端4包括:連接建立單元41,代碼生成單元42,數(shù)據(jù)發(fā)送單元43,驗證單元44,人機識別結果確定單元45。
其中,連接建立單元41,用于接收客戶端發(fā)送的操作請求,與上述客戶端建立連接;
代碼生成單元42,用于生成隨機代碼片段作為待執(zhí)行代碼段,其中,上述待執(zhí)行代碼段為只能在預設的客戶端運行環(huán)境下執(zhí)行的代碼段;
數(shù)據(jù)發(fā)送單元43,用于將上述代碼生成單元42生成的待執(zhí)行代碼段發(fā)送至上述客戶端;
驗證單元44,用于接收并驗證上述客戶端發(fā)送的執(zhí)行了待執(zhí)行代碼段后的執(zhí)行結果;
人機識別結果確定單元45,用于在上述執(zhí)行結果通過上述驗證單元44的驗證時,將人機識別結果確定為用戶在預設客戶端的操作,在上述執(zhí)行結果未通過上述驗證單元44的驗證時,將人機識別結果確定為機器操作。
可選地,上述代碼生成單元42具體包括:
算法確定子單元,用于在預設的隨機算法庫中抽取任一隨機算法作為目標隨機算法;
隨機函數(shù)生成子單元,用于調(diào)用上述目標隨機算法生成函數(shù)名、變量名均隨機的隨機函數(shù),作為上述待執(zhí)行代碼段;
上述數(shù)據(jù)發(fā)送單元具體用于,將上述隨機函數(shù)生成子單元得到的待執(zhí)行代碼段放入http響應體的隨機位置,發(fā)送至客戶端。
可選地,上述服務端還包括:
代碼加強單元,用于在上述代碼生成單元生成的待執(zhí)行代碼段中加入延時算法和/或客戶端的信息指紋。
由上可知,在本發(fā)明實施例中,服務端中生成只有在預設的客戶端運行環(huán)境下才能執(zhí)行的代碼段,并在接收了客戶端返回的執(zhí)行結果后進行驗證,實現(xiàn)對客戶端的人機識別,提供了透明的、用戶無感知的人機識別方法。運用本發(fā)明方案,用戶無需再在客戶端的登錄、注冊等頁面輸入captcha,達到了用戶體驗與安全性之間的平衡。同時,由于待執(zhí)行代碼段只能在預設的客戶端運行環(huán)境下執(zhí)行,因此能夠限制非標準客戶端使用服務提供者提供的服務,也即是能夠防止api的盜用。
實施例四
圖5示出了本發(fā)明實施例四提供的客戶端的具體結構框圖,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。該客戶端5包括:連接建立單元51,數(shù)據(jù)接收單元52,代碼執(zhí)行單元53,執(zhí)行結果發(fā)送單元54。
其中,連接建立單元51,用于向服務端發(fā)送操作請求,并與上述服務端建立連接;
數(shù)據(jù)接收單元52,用于接收上述服務端發(fā)送的待執(zhí)行代碼段,
代碼執(zhí)行單元53,用于執(zhí)行所述數(shù)據(jù)接收單元52接收的上述待執(zhí)行代碼段,得到執(zhí)行結果;
執(zhí)行結果發(fā)送單元54,用于將上述代碼執(zhí)行單元53得到的執(zhí)行結果發(fā)送至上述服務端,以便于上述服務端基于上述執(zhí)行結果進行人機識別。
可選地,上述客戶端5為web客戶端,上述客戶端5還包括:
代碼保存單元,用于將上述數(shù)據(jù)接收單元52接收到的上述待執(zhí)行代碼片段保存于隨機位置。
上述代碼執(zhí)行單元,具體用于,在由上述代碼保存單元確定的隨機位置上執(zhí)行所述待執(zhí)行代碼段,得到執(zhí)行結果。
由上可見,在本發(fā)明實施例中,客戶端在接收了待執(zhí)行代碼段后存放于隨機位置,以防止網(wǎng)絡機器人找到待執(zhí)行代碼段并完成暴力破解。同時,由于服務端發(fā)送到客戶端的待執(zhí)行代碼段為只有在預設的客戶端運行環(huán)境下才能執(zhí)行的代碼段,因而在客戶端無需用戶再在登錄、注冊等頁面輸出captcha,達到了用戶體驗與安全性之間的平衡,提供了透明的、用戶無感知的人機識別方法。同時,由于待執(zhí)行代碼段只能在預設的客戶端運行環(huán)境下執(zhí)行,因此能夠限制非標準客戶端使用服務提供者提供的服務,也即是能夠防止api的盜用。
實施例五
圖6示出了本發(fā)明實施例五提供的人機識別系統(tǒng)的具體結構框圖,為了便于說明,僅示出了本發(fā)明實施例相關的部分。該人機識別系統(tǒng)6包括:服務端4及與上述服務端4連接的客戶端5。
客戶端5首先向服務端4發(fā)起操作請求,服務端4接收到請求后,調(diào)用隨機算法生成待執(zhí)行代碼段,并連同客戶端5向服務端4請求的頁面一起返回客戶端5,隨后用戶在客戶端5正常提交服務端4請求的用戶信息,同時客戶端5自動執(zhí)行待執(zhí)行代碼段得到執(zhí)行結果,并將執(zhí)行結果與用戶提交的用戶信息一起發(fā)送至服務端4,服務端4首先檢驗客戶端5發(fā)送的執(zhí)行結果,若驗證通過,則將人機識別結果確認為用戶在預設客戶端的操作,繼續(xù)驗證其他用戶信息,若驗證未通過,則將人機識別結果確認為機器操作,服務端4可以選擇結束此次對話。
本發(fā)明實施例提供的人機識別系統(tǒng)可以應用在前述對應的方法實施例一及方法實施例二中,詳情參見上述實施例的描述,在此不再贅述。
在本方法實施例中,人機識別系統(tǒng)的服務端與客戶端先在客戶端的請求下建立連接,然后在服務端中生成只有在預設的客戶端運行環(huán)境下才能執(zhí)行的代碼段,并在接收了客戶端返回的執(zhí)行結果后進行驗證,實現(xiàn)對客戶端的人機識別,提供了透明的、用戶無感知的人機識別方法。運用本發(fā)明方案,無需再在登錄、注冊等頁面要求用戶輸出captcha,達到了用戶體驗與安全性之間的平衡。同時,由于待執(zhí)行代碼段只能在預設的客戶端運行環(huán)境下執(zhí)行,因此能夠限制非標準客戶端使用服務提供者提供的服務,也即是能夠防止api的盜用。
需要說明的是,在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,上述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
對于前述的各方法實施例,為了簡便描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其它順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和單元并不一定都是本發(fā)明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其它實施例的相關描述。
以上為對本發(fā)明所提供的一種較佳實施例,對于本領域的一般技術人員,依據(jù)本發(fā)明實施例的思想,在具體實施方式及應用范圍上均會有改變之處,綜上,本說明書內(nèi)容不應理解為對本發(fā)明的限制。