本發(fā)明實(shí)施例涉及數(shù)據(jù)處理技術(shù),尤其涉及一種數(shù)據(jù)驗(yàn)證的方法及裝置。
背景技術(shù):
在網(wǎng)絡(luò)游戲運(yùn)營(yíng)過(guò)程中,時(shí)常需要對(duì)玩家的登錄、交易等行為進(jìn)行控制和規(guī)范,杜絕玩家使用外掛或者在進(jìn)行危險(xiǎn)操作時(shí)給予驗(yàn)證和提醒。這時(shí)就需要在游戲中通過(guò)引入一種驗(yàn)證系統(tǒng)來(lái)解決此問(wèn)題,例如在玩家登錄時(shí)、與NPC交易時(shí)、長(zhǎng)時(shí)間掛機(jī)后突然進(jìn)行活動(dòng)時(shí)、刷大量低于自己一定等級(jí)的怪物等時(shí)刻驗(yàn)證是否是玩家在操作而不是外掛的操作。
在一些網(wǎng)絡(luò)游戲的驗(yàn)證規(guī)范系統(tǒng)中,使用了輸入框的方式進(jìn)行驗(yàn)證,即服務(wù)器向客戶端發(fā)送用來(lái)驗(yàn)證的一串英文字符或數(shù)字,客戶端對(duì)驗(yàn)證字符串進(jìn)行縮放、扭曲等處理后進(jìn)行顯示,然后由玩家輸入相同的字符串來(lái)進(jìn)行驗(yàn)證。
當(dāng)前網(wǎng)絡(luò)游戲的驗(yàn)證方式存在操作繁瑣,且字符本身存在大量相似字符,造成識(shí)別率差的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種數(shù)據(jù)驗(yàn)證的方法及裝置,解決當(dāng)前網(wǎng)絡(luò)游戲的驗(yàn)證方式存在操作繁瑣,且字符本身存在大量相似字符,造成識(shí)別率差的問(wèn)題。
第一方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)驗(yàn)證的方法,該方法包括:
從驗(yàn)證元素列表的索引中隨機(jī)獲取一串索引,按照獲取順序?yàn)樗鲆淮饕械拿總€(gè)索引分配對(duì)應(yīng)的位置信息;
將所述一串索引中的任意兩個(gè)索引的索引值修改為相同的索引值;
按照所述獲取順序?qū)⑺鲂薷暮蟮囊淮饕龑?duì)應(yīng)的驗(yàn)證元素渲染成驗(yàn)證圖片,并將所述兩個(gè)具有相同的索引值的索引對(duì)應(yīng)的位置信息保存為所述驗(yàn)證圖片的驗(yàn)證答案;
接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案,其中,所述待驗(yàn)證答案為客戶端通過(guò)所述驗(yàn)證圖片上的點(diǎn)擊坐標(biāo)獲取到的驗(yàn)證元素的索引的位置信息;
判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致,并在判斷出一致時(shí)驗(yàn)證通過(guò)。
進(jìn)一步地,在所述接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案之前,所述方法還包括:
為所述驗(yàn)證答案分配一個(gè)唯一的ID;
將所述驗(yàn)證圖片和所述ID發(fā)送至客戶端進(jìn)行驗(yàn)證;
相應(yīng)地,所述接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案包括:
接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案和所述ID。
進(jìn)一步地,在所述為所述驗(yàn)證答案分配一個(gè)唯一的ID之后,所述方法還包括:將所述ID和所述驗(yàn)證答案保存為一個(gè)鍵值對(duì),并存儲(chǔ)于map容器中;
在所述判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致之前,所述方法還包括:根據(jù)所述客戶端發(fā)送的ID查找所述map容器的鍵值對(duì)中與所述ID對(duì)應(yīng)的驗(yàn)證答案。
進(jìn)一步地,在所述驗(yàn)證通過(guò)之后,所述方法還包括:刪除所述鍵值對(duì)。
進(jìn)一步地,所述方法還包括:
當(dāng)判斷出所述待驗(yàn)證答案與驗(yàn)證答案不一致時(shí),則驗(yàn)證不通過(guò);
當(dāng)驗(yàn)證不通過(guò)時(shí),并且接收的客戶端的信息為刷新信號(hào),則重新生成驗(yàn)證答案,并將所述重新生成的驗(yàn)證答案覆蓋所述鍵值對(duì)中原始的驗(yàn)證答案;
當(dāng)驗(yàn)證不通過(guò)時(shí),并且接收的客戶端的信息為取消信號(hào),則刪除所述鍵值對(duì)。
第二方面,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)驗(yàn)證的裝置,該裝置包括:
索引獲取模塊,用于從驗(yàn)證元素列表的索引中隨機(jī)獲取一串索引,按照獲取順序?yàn)樗鲆淮饕械拿總€(gè)索引分配對(duì)應(yīng)的位置信息;
索引值修改模塊,用于將所述一串索引中的任意兩個(gè)索引的索引值修改為相同的索引值;
驗(yàn)證圖片渲染模塊,用于按照所述獲取順序?qū)⑺鲂薷暮蟮囊淮饕龑?duì)應(yīng)的驗(yàn)證元素渲染成驗(yàn)證圖片,并將所述兩個(gè)具有相同的索引值的索引對(duì)應(yīng)的位置信息保存為所述驗(yàn)證圖片的驗(yàn)證答案;
待驗(yàn)證答案接收模塊,用于接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案,其中,所述待驗(yàn)證答案為客戶端通過(guò)所述驗(yàn)證圖片上的點(diǎn)擊坐標(biāo)獲取到的驗(yàn)證元素的索引的位置信息;
判斷模塊,用于判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致,并在判斷出一致時(shí)驗(yàn)證通過(guò)。
進(jìn)一步地,該裝置還包括:
ID分配模塊,用于在所述接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案之前,為所述驗(yàn)證答案分配一個(gè)唯一的ID;
驗(yàn)證圖片和ID發(fā)送模塊,用于將所述驗(yàn)證圖片和所述ID發(fā)送至客戶端進(jìn)行驗(yàn)證;
相應(yīng)地,所述待驗(yàn)證答案接收模塊具體用于:
接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案和所述ID。
進(jìn)一步地,該裝置還包括:
鍵值對(duì)保存模塊,用于在所述為所述驗(yàn)證答案分配一個(gè)唯一的ID之后,將所述ID和所述驗(yàn)證答案保存為一個(gè)鍵值對(duì),并存儲(chǔ)于map容器中;
驗(yàn)證答案查找模塊,用于在所述判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致之前,根據(jù)所述客戶端發(fā)送的ID查找所述map容器的鍵值對(duì)中與所述ID對(duì)應(yīng)的驗(yàn)證答案。
進(jìn)一步地,該裝置還包括:
鍵值對(duì)刪除模塊,用于在所述驗(yàn)證通過(guò)之后,刪除所述鍵值對(duì)。
進(jìn)一步地,該裝置還包括:
驗(yàn)證不通過(guò)模塊,用于當(dāng)判斷出所述待驗(yàn)證答案與驗(yàn)證答案不一致時(shí),則驗(yàn)證不通過(guò);
刷新驗(yàn)證模塊,用于當(dāng)驗(yàn)證不通過(guò)時(shí),并且接收的客戶端的信息為刷新信號(hào),則重新生成驗(yàn)證答案,并將所述重新生成的驗(yàn)證答案覆蓋所述鍵值對(duì)中原始的驗(yàn)證答案;
取消驗(yàn)證模塊,用于當(dāng)驗(yàn)證不通過(guò)時(shí),并且接收的客戶端的信息為取消信號(hào),則刪除所述鍵值對(duì)。
本發(fā)明實(shí)施例通過(guò)從驗(yàn)證元素列表的索引中隨機(jī)獲取一串索引,按照獲取順序?yàn)槊總€(gè)索引分配對(duì)應(yīng)的位置信息,并將任意兩個(gè)索引的索引值修改為相同的索引值,按照索引的位置信息將驗(yàn)證元素順序渲染為驗(yàn)證圖片,保存索引值相同的兩個(gè)驗(yàn)證元素的索引的位置信息為驗(yàn)證答案,驗(yàn)證客戶端通過(guò)點(diǎn)擊坐標(biāo)獲取到的待驗(yàn)證答案與驗(yàn)證答案是否一致,若一致,則驗(yàn)證通過(guò),實(shí)現(xiàn)了通過(guò)用戶點(diǎn)選的方式進(jìn)行驗(yàn)證,操作簡(jiǎn)單,利用驗(yàn)證元素索引的位置信息進(jìn)行驗(yàn)證提高了驗(yàn)證精度,保證了驗(yàn)證效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖做一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例一提供的一種數(shù)據(jù)驗(yàn)證的方法的流程示意圖;
圖2是本發(fā)明實(shí)施例二提供的一種數(shù)據(jù)驗(yàn)證的方法的流程示意圖;
圖3是本發(fā)明實(shí)施例三提供的一種數(shù)據(jù)驗(yàn)證的方法的流程示意圖;
圖4是本發(fā)明實(shí)施例四提供的一種數(shù)據(jù)驗(yàn)證的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,以下將參照本發(fā)明實(shí)施例中的附圖,通過(guò)實(shí)施方式清楚、完整地描述本發(fā)明的技術(shù)方案,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
圖1是本發(fā)明實(shí)施例一提供的一種數(shù)據(jù)驗(yàn)證的方法的流程圖。本實(shí)施例的技術(shù)方案可以適用于進(jìn)行驗(yàn)證的情況。該方法可以由本發(fā)明實(shí)施例提供的一種數(shù)據(jù)驗(yàn)證的裝置來(lái)執(zhí)行,該裝置可以采用軟件和/或硬件的方式實(shí)現(xiàn),并配置在驗(yàn)證碼服務(wù)器中應(yīng)用。該方法具體包括如下操作:
S110、從驗(yàn)證元素列表的索引中隨機(jī)獲取一串索引,按照獲取順序?yàn)樗鲆淮饕械拿總€(gè)索引分配對(duì)應(yīng)的位置信息。
驗(yàn)證元素可以由驗(yàn)證碼服務(wù)器生成,用于在客戶端直觀顯示給用戶。驗(yàn)證元素的表現(xiàn)形式可以是漢字,也可以是字母,還可以是圖片,優(yōu)選為漢字,漢字的區(qū)分性高,能夠方便用戶選擇正確的驗(yàn)證答案,提高驗(yàn)證效率,而且不易被黑客盜取,安全性高。每個(gè)驗(yàn)證元素唯一對(duì)應(yīng)一個(gè)索引。隨機(jī)從驗(yàn)證元素列表的索引中獲取一串索引,該一串索引中索引的個(gè)數(shù)由需要的驗(yàn)證元素的個(gè)數(shù)決定。示例性地,當(dāng)需要的驗(yàn)證元素個(gè)數(shù)為8個(gè)時(shí),該一串索引中索引的個(gè)數(shù)為8。按照獲取順序?yàn)檫@8個(gè)索引分配對(duì)應(yīng)的位置信息,示例性地,位置信息依次為1~8。
S120、將所述一串索引中的任意兩個(gè)索引的索引值修改為相同的索引值。
將一串索引中的任意兩個(gè)索引的索引值修改為相同,以此實(shí)現(xiàn)該一串索引中的任意兩個(gè)具有相同索引值的索引對(duì)應(yīng)相同的驗(yàn)證元素,將其顯示在客戶端以供用戶選出相同的驗(yàn)證元素,完成驗(yàn)證操作。
S130、按照所述獲取順序?qū)⑺鲂薷暮蟮囊淮饕龑?duì)應(yīng)的驗(yàn)證元素渲染成驗(yàn)證圖片,并將所述兩個(gè)具有相同的索引值的索引對(duì)應(yīng)的位置信息保存為所述驗(yàn)證圖片的驗(yàn)證答案。
驗(yàn)證元素按照對(duì)應(yīng)索引的獲取順序即索引的位置信息,順序渲染為驗(yàn)證圖片。示例性地,當(dāng)驗(yàn)證元素有8個(gè)時(shí),索引的位置信息為1~8,則驗(yàn)證元素按照1~8的順序渲染為驗(yàn)證圖片,其中,驗(yàn)證元素的排列可以是1行8列,也可以是2行4列,還可以是4行2列,具體排列形式在此不作限制。兩個(gè)具有相同的索引值的索引對(duì)應(yīng)的位置信息例如可以是3和6,則將3和6保存為驗(yàn)證圖片的驗(yàn)證答案。
S140、接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案,其中,所述待驗(yàn)證答案為客戶端通過(guò)所述驗(yàn)證圖片上的點(diǎn)擊坐標(biāo)獲取到的驗(yàn)證元素的索引的位置信息。
用戶在客戶端的顯示界面上通過(guò)點(diǎn)擊鼠標(biāo)或者手動(dòng)點(diǎn)擊觸摸屏的方式,點(diǎn)選驗(yàn)證元素??蛻舳双@取到用戶點(diǎn)選驗(yàn)證元素的坐標(biāo),結(jié)合驗(yàn)證元素的排列方式,得到用戶點(diǎn)選的驗(yàn)證元素的位置信息,即待驗(yàn)證答案。客戶端將該待驗(yàn)證答案發(fā)送給驗(yàn)證碼服務(wù)器,以供驗(yàn)證碼服務(wù)器接收并進(jìn)行判斷待驗(yàn)證答案的正確性。
用戶在驗(yàn)證圖片上進(jìn)行點(diǎn)擊時(shí),會(huì)在界面上顯示一個(gè)方框提示選中的驗(yàn)證元素,這個(gè)方塊的位置是根據(jù)用戶點(diǎn)選驗(yàn)證元素的坐標(biāo)和每個(gè)驗(yàn)證元素的大小計(jì)算出來(lái)的??蛻舳酥羞€可以設(shè)置一個(gè)變量用來(lái)控制方塊的數(shù)量,使用戶無(wú)論怎么點(diǎn)擊都只有最多兩個(gè)方塊。用戶選擇兩個(gè)驗(yàn)證元素之后,點(diǎn)擊確認(rèn)按鈕,客戶端就會(huì)把這兩個(gè)驗(yàn)證元素對(duì)應(yīng)的位置信息即驗(yàn)證答案發(fā)送回驗(yàn)證碼服務(wù)器進(jìn)行驗(yàn)證,也可以點(diǎn)擊刷新或取消按鈕來(lái)刷新驗(yàn)證碼或取消驗(yàn)證。
S150、判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致,并在判斷出一致時(shí)驗(yàn)證通過(guò)。
將待驗(yàn)證答案與驗(yàn)證答案比較,當(dāng)二者完全一致時(shí),驗(yàn)證通過(guò)。當(dāng)待驗(yàn)證答案只有部分與驗(yàn)證答案一致或者全部與驗(yàn)證答案不一致時(shí),驗(yàn)證不通過(guò)。
本發(fā)明實(shí)施例的技術(shù)方案通過(guò)從驗(yàn)證元素列表的索引中隨機(jī)獲取一串索引,按照獲取順序?yàn)槊總€(gè)索引分配對(duì)應(yīng)的位置信息,并將任意兩個(gè)索引的索引值修改為相同的索引值,按照索引的位置信息將驗(yàn)證元素順序渲染為驗(yàn)證圖片,保存索引值相同的兩個(gè)驗(yàn)證元素的索引的位置信息為驗(yàn)證答案,驗(yàn)證客戶端通過(guò)點(diǎn)擊坐標(biāo)獲取到的待驗(yàn)證答案與驗(yàn)證答案是否一致,若一致,則驗(yàn)證通過(guò)。本發(fā)明實(shí)施例解決了當(dāng)前網(wǎng)絡(luò)游戲的驗(yàn)證方式存在操作繁瑣,且字符本身存在大量相似字符,造成識(shí)別率差的問(wèn)題,實(shí)現(xiàn)了通過(guò)用戶點(diǎn)選的方式進(jìn)行驗(yàn)證,操作簡(jiǎn)單,利用驗(yàn)證元素索引的位置信息進(jìn)行驗(yàn)證提高了驗(yàn)證精度,保證了驗(yàn)證效率。
實(shí)施例二
圖2是本發(fā)明實(shí)施例二提供的一種數(shù)據(jù)驗(yàn)證的方法的流程圖。本發(fā)明實(shí)施例在上述實(shí)施例的基礎(chǔ)上,進(jìn)一步優(yōu)化了接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案之前的操作。
相應(yīng)地,本實(shí)施例的方法包括:
S210、從驗(yàn)證元素列表的索引中隨機(jī)獲取一串索引,按照獲取順序?yàn)樗鲆淮饕械拿總€(gè)索引分配對(duì)應(yīng)的位置信息。
S220、將所述一串索引中的任意兩個(gè)索引的索引值修改為相同的索引值。
S230、按照所述獲取順序?qū)⑺鲂薷暮蟮囊淮饕龑?duì)應(yīng)的驗(yàn)證元素渲染成驗(yàn)證圖片,并將所述兩個(gè)具有相同的索引值的索引對(duì)應(yīng)的位置信息保存為所述驗(yàn)證圖片的驗(yàn)證答案。
S240、為所述驗(yàn)證答案分配一個(gè)唯一的ID。
ID和驗(yàn)證答案一一對(duì)應(yīng),可以實(shí)現(xiàn)通過(guò)ID找到驗(yàn)證答案,以便于有多個(gè)驗(yàn)證程序在執(zhí)行時(shí),快速找到對(duì)應(yīng)的驗(yàn)證答案,保證驗(yàn)證精度和效率。
S250、將所述驗(yàn)證圖片和所述ID發(fā)送至客戶端進(jìn)行驗(yàn)證。
將ID發(fā)送給客戶端,以便于客戶端返回待驗(yàn)證答案時(shí),將ID與待驗(yàn)證答案一起返回驗(yàn)證碼服務(wù)器,便于驗(yàn)證碼服務(wù)器根據(jù)客戶端返回的ID找到對(duì)應(yīng)的驗(yàn)證答案。
S260、接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案和所述ID,其中,所述待驗(yàn)證答案為客戶端通過(guò)所述驗(yàn)證圖片上的點(diǎn)擊坐標(biāo)獲取到的驗(yàn)證元素的索引的位置信息。
S270、判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致,并在判斷出一致時(shí)驗(yàn)證通過(guò)。
本發(fā)明實(shí)施例通過(guò)為驗(yàn)證答案分配一個(gè)唯一的ID,并將ID和驗(yàn)證圖片一起發(fā)送給客戶端,接收客戶端返回的待驗(yàn)證答案和ID,當(dāng)待驗(yàn)證答案與驗(yàn)證答案一致時(shí)驗(yàn)證通過(guò),實(shí)現(xiàn)了利用ID快速找到待驗(yàn)證答案對(duì)應(yīng)的驗(yàn)證答案,提高了驗(yàn)證精度和效率。
在本實(shí)施例的另一個(gè)優(yōu)選實(shí)施方式中,在所述為所述驗(yàn)證答案分配一個(gè)唯一的ID之后,所述數(shù)據(jù)驗(yàn)證的方法還包括:將所述ID和所述驗(yàn)證答案保存為一個(gè)鍵值對(duì),并存儲(chǔ)于map容器中。
相應(yīng)地,在所述判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致之前,所述方法還包括:根據(jù)所述客戶端發(fā)送的ID查找所述map容器的鍵值對(duì)中與所述ID對(duì)應(yīng)的驗(yàn)證答案。
相應(yīng)地,在所述驗(yàn)證通過(guò)之后,所述方法還包括:刪除所述鍵值對(duì)。
將ID和驗(yàn)證答案保存為一個(gè)鍵值對(duì),方便通過(guò)ID快速查找驗(yàn)證答案;將鍵值對(duì)存儲(chǔ)在map容器中,簡(jiǎn)化操作;在驗(yàn)證通過(guò)之后,刪除鍵值對(duì)可以釋放驗(yàn)證空間,避免數(shù)據(jù)溢出。
實(shí)施例三
圖3是本發(fā)明實(shí)施例三提供的一種數(shù)據(jù)驗(yàn)證的方法的流程圖。本發(fā)明實(shí)施例在上述實(shí)施例的基礎(chǔ)上,進(jìn)一步增加了當(dāng)判斷出所述待驗(yàn)證答案與驗(yàn)證答案不一致時(shí)的操作。
相應(yīng)地,本實(shí)施例的方法包括:
S310、從驗(yàn)證元素列表的索引中隨機(jī)獲取一串索引,按照獲取順序?yàn)樗鲆淮饕械拿總€(gè)索引分配對(duì)應(yīng)的位置信息。
S320、將所述一串索引中的任意兩個(gè)索引的索引值修改為相同的索引值。
S330、按照所述獲取順序?qū)⑺鲂薷暮蟮囊淮饕龑?duì)應(yīng)的驗(yàn)證元素渲染成驗(yàn)證圖片,并將所述兩個(gè)具有相同的索引值的索引對(duì)應(yīng)的位置信息保存為所述驗(yàn)證圖片的驗(yàn)證答案。
S340、接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案,其中,所述待驗(yàn)證答案為客戶端通過(guò)所述驗(yàn)證圖片上的點(diǎn)擊坐標(biāo)獲取到的驗(yàn)證元素的索引的位置信息。
S350、判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致,并在判斷出一致時(shí)驗(yàn)證通過(guò)。
S360、當(dāng)判斷出所述待驗(yàn)證答案與驗(yàn)證答案不一致時(shí),則驗(yàn)證不通過(guò)。
S370、當(dāng)驗(yàn)證不通過(guò)時(shí),并且接收的客戶端的信息為刷新信號(hào),則重新生成驗(yàn)證答案,并將所述重新生成的驗(yàn)證答案覆蓋所述鍵值對(duì)中原始的驗(yàn)證答案。
驗(yàn)證碼服務(wù)器接收到來(lái)自客戶端的刷新驗(yàn)證碼請(qǐng)求,則根據(jù)ID在map容器中查找對(duì)應(yīng)的驗(yàn)證答案,然后再隨機(jī)生成一個(gè)驗(yàn)證答案覆蓋查找到的驗(yàn)證答案,并且按照新隨機(jī)到的索引列表,選取對(duì)應(yīng)的驗(yàn)證元素重新渲染驗(yàn)證圖片發(fā)送到客戶端。由此可以實(shí)現(xiàn),在不改變ID情況下,改變驗(yàn)證答案,簡(jiǎn)化操作流程,提高驗(yàn)證效率。
S380、當(dāng)驗(yàn)證不通過(guò)時(shí),并且接收的客戶端的信息為取消信號(hào),則刪除所述鍵值對(duì)。
驗(yàn)證碼服務(wù)器接收到來(lái)自客戶端的取消驗(yàn)證碼的請(qǐng)求,則把ID和對(duì)應(yīng)的驗(yàn)證答案全部從map容器中刪除,即將ID和驗(yàn)證答案組成的鍵值對(duì)刪除。當(dāng)客戶端取消驗(yàn)證時(shí),刪除當(dāng)前的鍵值對(duì)可以做到減少驗(yàn)證程序占用的空間。
本發(fā)明實(shí)施例通過(guò)增加在驗(yàn)證不通過(guò)時(shí),當(dāng)接收的客戶端的信息為刷新信號(hào)時(shí),重新生成驗(yàn)證答案,并將所述重新生成的驗(yàn)證答案覆蓋鍵值對(duì)中原始的驗(yàn)證答案,當(dāng)接收的客戶端的信息為取消信號(hào),則刪除鍵值對(duì),保證了用戶在驗(yàn)證不通過(guò)時(shí),仍然可以通過(guò)刷新進(jìn)行驗(yàn)證或者自主取消驗(yàn)證,提高了用戶體驗(yàn)。
實(shí)施例四
圖4是本發(fā)明實(shí)施例四提供的一種數(shù)據(jù)驗(yàn)證的裝置的結(jié)構(gòu)框圖。該裝置用于執(zhí)行上述任意實(shí)施例所提供的一種數(shù)據(jù)驗(yàn)證的方法。該裝置包括:
索引獲取模塊410,用于從驗(yàn)證元素列表的索引中隨機(jī)獲取一串索引,按照獲取順序?yàn)樗鲆淮饕械拿總€(gè)索引分配對(duì)應(yīng)的位置信息;
索引值修改模塊420,用于將所述一串索引中的任意兩個(gè)索引的索引值修改為相同的索引值;
驗(yàn)證圖片渲染模塊430,用于按照所述獲取順序?qū)⑺鲂薷暮蟮囊淮饕龑?duì)應(yīng)的驗(yàn)證元素渲染成驗(yàn)證圖片,并將所述兩個(gè)具有相同的索引值的索引對(duì)應(yīng)的位置信息保存為所述驗(yàn)證圖片的驗(yàn)證答案;
待驗(yàn)證答案接收模塊440,用于接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案,其中,所述待驗(yàn)證答案為客戶端通過(guò)所述驗(yàn)證圖片上的點(diǎn)擊坐標(biāo)獲取到的驗(yàn)證元素的索引的位置信息;
判斷模塊450,用于判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致,并在判斷出一致時(shí)驗(yàn)證通過(guò)。
進(jìn)一步地,該裝置還包括:
ID分配模塊,用于在所述接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案之前,為所述驗(yàn)證答案分配一個(gè)唯一的ID;
驗(yàn)證圖片和ID發(fā)送模塊,用于將所述驗(yàn)證圖片和所述ID發(fā)送至客戶端進(jìn)行驗(yàn)證;
相應(yīng)地,所述待驗(yàn)證答案接收模塊440具體用于:
接收客戶端發(fā)送的針對(duì)所述驗(yàn)證圖片的待驗(yàn)證答案和所述ID。
進(jìn)一步地,該裝置還包括:
鍵值對(duì)保存模塊,用于在所述為所述驗(yàn)證答案分配一個(gè)唯一的ID之后,將所述ID和所述驗(yàn)證答案保存為一個(gè)鍵值對(duì),并存儲(chǔ)于map容器中;
驗(yàn)證答案查找模塊,用于在所述判斷所述待驗(yàn)證答案與驗(yàn)證答案是否一致之前,根據(jù)所述客戶端發(fā)送的ID查找所述map容器的鍵值對(duì)中與所述ID對(duì)應(yīng)的驗(yàn)證答案。
進(jìn)一步地,該裝置還包括:
鍵值對(duì)刪除模塊,用于在所述驗(yàn)證通過(guò)之后,刪除所述鍵值對(duì)。
進(jìn)一步地,該裝置還包括:
驗(yàn)證不通過(guò)模塊,用于當(dāng)判斷出所述待驗(yàn)證答案與驗(yàn)證答案不一致時(shí),則驗(yàn)證不通過(guò);
刷新驗(yàn)證模塊,用于當(dāng)驗(yàn)證不通過(guò)時(shí),并且接收的客戶端的信息為刷新信號(hào),則重新生成驗(yàn)證答案,并將所述重新生成的驗(yàn)證答案覆蓋所述鍵值對(duì)中原始的驗(yàn)證答案;
取消驗(yàn)證模塊,用于當(dāng)驗(yàn)證不通過(guò)時(shí),并且接收的客戶端的信息為取消信號(hào),則刪除所述鍵值對(duì)。
本發(fā)明實(shí)施例四提供的數(shù)據(jù)驗(yàn)證的裝置,實(shí)現(xiàn)了通過(guò)用戶點(diǎn)選的方式進(jìn)行驗(yàn)證,操作簡(jiǎn)單,利用驗(yàn)證元素索引的位置信息進(jìn)行驗(yàn)證提高了驗(yàn)證精度,保證了驗(yàn)證效率。
本發(fā)明實(shí)施例所提供的數(shù)據(jù)驗(yàn)證的裝置可執(zhí)行本發(fā)明任意實(shí)施例所提供的數(shù)據(jù)驗(yàn)證的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。
注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過(guò)以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說(shuō)明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。