亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

表單驗證方法、裝置和系統(tǒng)與流程

文檔序號:12556706閱讀:150來源:國知局
表單驗證方法、裝置和系統(tǒng)與流程
本申請涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種表單驗證方法、裝置和系統(tǒng)。

背景技術(shù):
表單是客戶端與服務(wù)器,如web網(wǎng)頁瀏覽器與web服務(wù)器之間進(jìn)行數(shù)據(jù)交互的重要手段之一,其在客戶端中負(fù)責(zé)數(shù)據(jù)采集。表單通常包括表單域和表單按鈕等組件,其中表單域由輸入框,例如文本框和密碼框等組成。為了數(shù)據(jù)傳輸?shù)陌踩?,表單生成的同時還會生成預(yù)設(shè)名稱的表單隱藏域,表單隱藏域為表單中不可見的元素,在表單提交時,即可將隱藏域的數(shù)值信息按照所設(shè)置好的名稱發(fā)送至服務(wù)器。在實際應(yīng)用中,客戶端接收到用戶的獲取表單請求時,生成表單,用戶即可在表單輸入框中填寫數(shù)據(jù),填寫完成后通過表單按鈕觸發(fā)客戶端將表單提交至服務(wù)器,服務(wù)器即可對表單數(shù)據(jù)進(jìn)行處理。但是根據(jù)現(xiàn)有的這種表單應(yīng)用的工作方式,服務(wù)器無法從提交的表單數(shù)據(jù)中判斷出表單的填寫者是否為真實的用戶。因此,很多用戶可以繞過表單的人工填寫步驟,通過自動填寫工具或者專門的機(jī)器人等自動填寫程序,來抓取表單頁面的信息,實現(xiàn)自動識別表單、批量注冊、自動登錄等,從而進(jìn)行惡意論壇灌水、暴力破解密碼、發(fā)布垃圾信息等操作。因此如何對表單進(jìn)行驗證,以判斷表單填寫者是否為真實用戶成為目前表單應(yīng)用中迫切需要解決的問題?,F(xiàn)有的一種表單驗證方法是通過驗證表單的隱藏域來實現(xiàn)的,表單隱藏域包括名稱和數(shù)值,在一次表單應(yīng)用中,服務(wù)器生成隨機(jī)字符傳遞至客戶端,觸發(fā)客戶端將隨機(jī)字符作為表單隱藏域的數(shù)值,因此服務(wù)器接收到客戶端提交的用戶填寫好的表單時,通過驗證表單隱藏域的數(shù)值是否與生成的隨機(jī)字符相匹配來實現(xiàn)對表單的驗證。但是由于客戶端生成表單的同時即生成表單隱藏域,表單隱藏域的名稱是預(yù)先設(shè)置好的,每次生成的表單隱藏域的名稱均一樣,惡意的自動填寫程序通過多次抓取表單頁面的信息,即可分析得出表單隱藏域的名稱,也就可以對應(yīng)獲取隱藏域的數(shù)值,使得仍可識別表單從而進(jìn)行表單自動填寫,因此仍無法確定出表單的填寫者是否為真實用戶,不能實現(xiàn)表單的有效驗證。

技術(shù)實現(xiàn)要素:
本申請所要解決的技術(shù)問題是提供一種表單驗證方法,用以解決現(xiàn)有技術(shù)中表單驗證方法不能實現(xiàn)有效驗證的技術(shù)問題。本申請還提供了一種表單驗證裝置和系統(tǒng),用以保證上述方法在實際中的實現(xiàn)及應(yīng)用。本發(fā)明一方面,提供了一種表單驗證方法,包括:接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù);將攜帶所述第一隨機(jī)參數(shù)和所述第二隨機(jī)參數(shù)的第一觸發(fā)信息發(fā)送給所述客戶端,以觸發(fā)所述客戶端將生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值;接收到客戶端提交的加入所述表單隱藏域的表單后,驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配。優(yōu)選地,所述觸發(fā)所述客戶端將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值具體為:觸發(fā)所述客戶端將所述第二隨機(jī)參數(shù)作為驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值;則所述驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配具體為:驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相同。優(yōu)選地,所述生成所述第二隨機(jī)參數(shù)后,所述方法還包括:將所述第二隨機(jī)參數(shù)通過預(yù)定義算法進(jìn)行加密生成驗證字符,并向客戶端反饋加密信息,以便于所述客戶端根據(jù)所述預(yù)定義算法和所述第二隨機(jī)參數(shù)生成所述驗證字符;則所述驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配具體為:驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述根據(jù)所述第二隨機(jī)參數(shù)生成的驗證字符是否相同。優(yōu)選地,所述第一觸發(fā)信息還包含定義的變量,則所述觸發(fā)所述客戶端將生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值,具體為:觸發(fā)所述客戶端將生成的以所述第一隨機(jī)參數(shù)為名稱,以變量為臨時數(shù)值的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述變量。優(yōu)選地,所述方法還包括:生成第三隨機(jī)參數(shù),并將攜帶所述第三隨機(jī)參數(shù)的第二觸發(fā)信息發(fā)送給客戶端,以觸發(fā)所述客戶端將所述第三隨機(jī)參數(shù)作為表單隱藏域生成函數(shù)的函數(shù)名;則所述觸發(fā)所述客戶端將生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中具體為:觸發(fā)所述客戶端將調(diào)用以所述第三隨機(jī)參數(shù)命名的表單隱藏域生成函數(shù),生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中。優(yōu)選地,所述觸發(fā)所述客戶端將所述第三隨機(jī)參數(shù)作為表單隱藏域生成函數(shù)的函數(shù)名具體為:觸發(fā)所述客戶端將所述第三隨機(jī)參數(shù)作為表單隱藏域生成函數(shù)的函數(shù)名,并將所述表單隱藏域生成函數(shù)進(jìn)行混淆處理。優(yōu)選地,所述將攜帶所述第一隨機(jī)參數(shù)和所述第二隨機(jī)參數(shù)的第一觸發(fā)信息發(fā)送給所述客戶端的同時,所述方法還包括:向所述客戶端發(fā)送隨機(jī)隱藏域觸發(fā)信息,以觸發(fā)所述客戶端將生成的多個以隨機(jī)字符為名稱的隨機(jī)隱藏域加入到表單中。優(yōu)選地,所述觸發(fā)所述客戶端將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值具體為:觸發(fā)所述客戶端在檢測到有賦值事件時,將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值。優(yōu)選地,所述生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)具體是:將隨機(jī)生成的兩個字符分別進(jìn)行加密后,形成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)。本發(fā)明又一方面,提供了一種表單驗證裝置,包括:生成單元,用于接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù);第一觸發(fā)單元,用于將攜帶所述第一隨機(jī)參數(shù)和所述第二隨機(jī)參數(shù)的第一觸發(fā)信息發(fā)送給所述客戶端,觸發(fā)所述客戶端將生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值;驗證單元,用于接收到客戶端提交的加入所述表單隱藏域的表單后,驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配。優(yōu)選地,所述第一觸發(fā)單元觸發(fā)所述客戶端將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值具體為:觸發(fā)所述客戶端將所述第二隨機(jī)參數(shù)作為驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值;則所述驗證單元具體用于驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相同。優(yōu)選地,所述裝置還包括:加密反饋單元,用于將所述第二隨機(jī)參數(shù)通過預(yù)定義算法進(jìn)行加密生成驗證字符,并向客戶端反饋加密信息,以便于所述客戶端根據(jù)所述預(yù)定義算法和所述第二隨機(jī)參數(shù)生成所述驗證字符;則所述驗證單元具體用于驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述根據(jù)所述第二隨機(jī)參數(shù)生成的驗證字符是否相同。優(yōu)選地,所述第一觸發(fā)信息還包含定義的變量,則所述第一觸發(fā)單元具體用于觸發(fā)所述客戶端將生成的以所述第一隨機(jī)參數(shù)為名稱,以變量為臨時數(shù)值的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述變量。優(yōu)選地,所述生成單元還用于生成第三隨機(jī)參數(shù),則所述裝置還包括:第二觸發(fā)單元,用于將攜帶所述第三隨機(jī)參數(shù)的第二觸發(fā)信息發(fā)送給客戶端,以觸發(fā)所述客戶端將所述第三隨機(jī)參數(shù)作為表單隱藏域生成函數(shù)的函數(shù)名;則所述第一觸發(fā)單元具體用于觸發(fā)所述客戶端將通過調(diào)用以所述第三隨機(jī)參數(shù)命名的表單隱藏域生成函數(shù),生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中。優(yōu)選地,所述裝置還包括:第三觸發(fā)單元,用于向所述客戶端發(fā)送隨機(jī)隱藏域觸發(fā)信息,以觸發(fā)所述客戶端將生成的多個以隨機(jī)字符為名稱的隨機(jī)隱藏域加入到表單中。優(yōu)選地,所述第一觸發(fā)單元觸發(fā)所述客戶端將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值具體是觸發(fā)所述客戶端在檢測到有賦值事件時,將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值。本發(fā)明又一方面,提供一種表單驗證系統(tǒng),包括客戶端和服務(wù)器,所述客戶端,用于向所述服務(wù)器發(fā)送請求消息;根據(jù)所述服務(wù)器發(fā)送的攜帶第一隨機(jī)參數(shù)和所述第二隨機(jī)參數(shù)的第一觸發(fā)信息,將生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值;提交所述加入表單隱藏域的表單至所述服務(wù)器;所述服務(wù)器,用于接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù);將攜帶所述第一隨機(jī)參數(shù)和所述第二隨機(jī)參數(shù)的第一觸發(fā)信息發(fā)送給所述客戶端,接收到客戶端提交的加入所述表單隱藏域的表單后,驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配。與現(xiàn)有技術(shù)相比,本申請包括以下優(yōu)點:在本申請中,當(dāng)接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù),并向客戶端發(fā)送第一觸發(fā)信息,觸發(fā)客戶端將生成的以第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定的驗證字符賦值給所述表單隱藏域,作為隱藏域的數(shù)值。當(dāng)接收到客戶端提交的加入所述表單隱藏域的表單時,驗證第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與第二隨機(jī)參數(shù)是否相匹配,從而實現(xiàn)表單的驗證,由于每次生成表單時,表單隱藏域的名稱以及數(shù)值都是變化的,自動填寫程序由于無法獲知隱藏域名稱,因此也就不能獲知隱藏域的數(shù)值,無法成功自動填寫表單。當(dāng)確定出隱藏域的數(shù)值與第二隨機(jī)參數(shù)不匹配時,就不會對該表單進(jìn)行處理,從而實現(xiàn)了表單的有效驗證。當(dāng)然,實施本申請的任一產(chǎn)品并不一定需要同時達(dá)到以上所述的所有優(yōu)點。附圖說明為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本申請的一種表單驗證方法實施例1的流程圖;圖2是本申請中一種表單驗證方法實施例2的流程圖;圖3是本申請中一種表單驗證方法實施例3的流程圖;圖4是本申請中一種表單驗證裝置實施例1的結(jié)構(gòu)示意圖;圖5是本申請中一種表單驗證裝置實施例2的結(jié)構(gòu)示意圖。具體實施方式下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護(hù)的范圍。本申請可用于眾多通用或?qū)S玫挠嬎阊b置環(huán)境或配置中。例如:個人計算機(jī)、服務(wù)器計算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器裝置、包括以上任何裝置或設(shè)備的分布式計算環(huán)境等等。本申請可以在由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。本申請的主要思想之一可以包括,服務(wù)器接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù),并向客戶端發(fā)送第一觸發(fā)信息,觸發(fā)客戶端將生成的以第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定的驗證字符賦值給所述表單隱藏域,作為隱藏域的數(shù)值。服務(wù)器接收到客戶端提交的加入所述表單隱藏域的表單時,驗證第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與第二隨機(jī)參數(shù)是否相匹配,從而實現(xiàn)表單的驗證,由于每次生成表單時,表單隱藏域的名稱以及數(shù)值都是變化的,自動填寫程序由于無法獲知隱藏域名稱,因此也就不能獲知隱藏域的數(shù)值,無法成功自動填寫表單。當(dāng)確定出隱藏域的數(shù)值與第二隨機(jī)參數(shù)不匹配時,服務(wù)器就不會對該表單進(jìn)行處理,從而實現(xiàn)了表單的有效驗證。參考圖1,示出了本申請一種表單驗證方法實施例1的流程圖,可以包括以下步驟:步驟101:接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)。用戶通過客戶端的用戶界面請求獲取表單時,客戶端即會生成相應(yīng)的表單,并向服務(wù)器發(fā)送請求消息,服務(wù)器即接收該客戶端發(fā)送的請求消息。所述表單例如可以是注冊/登錄表單,或者貼吧網(wǎng)站中的發(fā)帖表單等。所述第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)可以是隨機(jī)生成的兩個字符,將其中一個字符作為第一隨機(jī)參數(shù),另一字符作為第二隨機(jī)參數(shù)。其中,為了增強信息的安全性,防止被竊取,所述的第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)可以是隨機(jī)生成的字符進(jìn)行加密后所形成的,例如可以是通過密鑰算法加密形成的隨機(jī)密鑰,具體的,服務(wù)器接收到客戶端的請求消息后,隨機(jī)生成字符a和b,分別根據(jù)字符a和b,以及站點密鑰和/或時間戳等信息通過加密算法生成密鑰A和B,分別作為第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)。所述站點密鑰可以是指用戶當(dāng)前登錄網(wǎng)站的唯一識別碼;時間戳例如可以為Unix時間戳,用于表示時間;所述加密算法可以采用MD5(MessageDigestAlgorithmMD5,消息摘要算法第五版)算法,當(dāng)然還可以采用其他的加密算法,此外,為了增加加密的復(fù)雜度,所述加密算法還可以采用通過服務(wù)器端執(zhí)行的腳本語言,例如PHP(HypertextPreprocessor,超級文本預(yù)處理語言),自定義的加密算法,因此增加了算法復(fù)雜度,使得不容易被破解。步驟102:將攜帶所述第一隨機(jī)參數(shù)和所述第二隨機(jī)參數(shù)的第一觸發(fā)信息發(fā)送給所述客戶端,以觸發(fā)所述客戶端將生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值。生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)后,服務(wù)器可以將所述第一隨機(jī)參數(shù)定義為表單隱藏域的名稱,并定義表單隱藏域的數(shù)值相關(guān)信息,向客戶端發(fā)送第一觸發(fā)信息,所述第一觸發(fā)信息即會觸發(fā)客戶端執(zhí)行相應(yīng)的操作。具體的,所述的第一觸發(fā)信息可以包括生成表單隱藏域的執(zhí)行代碼。服務(wù)器根據(jù)所述第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)生成表單隱藏域的執(zhí)行代碼,客戶端接收到第一觸發(fā)信息后,運行所述執(zhí)行代碼的過程,即是生成以第一隨機(jī)參數(shù)為名稱的表單隱藏域,將其加入到表單,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值的過程。客戶端生成表單隱藏域具體是通過調(diào)用表單隱藏域生成函數(shù)來生成的。為了避免惡意程序截取客戶端的頁面代碼,進(jìn)行分析出表單隱藏域的內(nèi)容,服務(wù)器可以觸發(fā)客戶端將表單隱藏域生成函數(shù)以及其他的執(zhí)行代碼進(jìn)行混淆處理,即代碼混淆,使得混淆處理后的代碼即便被截取,用戶也無法識別。其中,觸發(fā)客戶端將表單隱藏域加入到表單中,即是觸發(fā)客戶端將生成的表單隱藏域插入表單頁面中,當(dāng)客戶端提交表單時,表單隱藏域即會一同被提交。另外,為了進(jìn)一步實現(xiàn)表單的有效驗證,所述觸發(fā)所述客戶端將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值可以具體是:觸發(fā)所述客戶端在檢測到有賦值事件時,將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值。表單隱藏域包括名稱和數(shù)值,服務(wù)器向客戶端發(fā)送第一觸發(fā)信息,觸發(fā)客戶端將生成的以第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,并不立即為所述表單隱藏域賦值,而是觸發(fā)客戶端在檢測到有賦值事件時在進(jìn)行賦值操作。該賦值事件是指真實用戶執(zhí)行操作時所觸發(fā)的事件,例如所述賦值事件可以是鼠標(biāo)移動事件,真實用戶在填寫表單過程中,需要操作鼠標(biāo),使得鼠標(biāo)光標(biāo)在客戶端的顯示界面移動,客戶端檢測到該鼠標(biāo)移動事件時,表明表單填寫者為真實的用戶,因此再對所述表單隱藏域賦值。從而使得即便第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)被獲取后,仍不能實現(xiàn)表單隱藏域的正確賦值。當(dāng)然所述的賦值事件還可以是鍵盤操作事件等可以區(qū)分真實用戶與自動填寫程序所執(zhí)行的表單操作的事件。步驟103:接收到客戶端提交的加入所述表單隱藏域的表單后,驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配??蛻舳私邮盏奖韱翁峤徽埱髸r,即將加入所述表單隱藏域的表單提交至服務(wù)器,所述表單提交請求可以是用戶填寫完表單后通過客戶端界面的表單提交按鈕后觸發(fā)客戶端提交的,也可能是自動填寫程序來觸發(fā)客戶端提交的。服務(wù)器接收到所述加入表單隱藏域的表單后,由于是由服務(wù)器觸發(fā)客戶端生成的以第一隨機(jī)參數(shù)為名稱的表單隱藏域,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,因此在接收到客戶端提交的表單后,為實現(xiàn)對表單的驗證,服務(wù)器首先確定出其生成的第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域,然后驗證該表單隱藏域的數(shù)值與其生成的第二隨機(jī)參數(shù)是否相匹配。由于在一次表單獲取到提交的過程中,服務(wù)器均會生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù),因此使得每次獲取的表單所加入的表單隱藏域的名稱是不一樣的,數(shù)值也是變化的,使得自動填寫程序無法獲知表單隱藏域的名稱,也就無法分析出表單隱藏域的數(shù)值,而隱藏域的數(shù)值是服務(wù)器觸發(fā)客戶端將根據(jù)第二隨機(jī)參數(shù)確定的驗證字符賦值給表單隱藏域的,因此服務(wù)器驗證出第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)不相匹配,即認(rèn)為當(dāng)前提交的表單并不是真實用戶所填寫的表單,即可將其舍棄,不做后續(xù)處理。而如果相匹配則表明當(dāng)前提交的表單是真實用戶所填寫的表單,則根據(jù)表單所填寫的內(nèi)容進(jìn)行處理,例如進(jìn)行身份驗證,將登錄信息反饋給客戶端;觸發(fā)客戶端發(fā)布表單信息等。其中,所述驗證該表單隱藏域的數(shù)值與其生成的第二隨機(jī)參數(shù)是否相匹配一種可能的情況為:服務(wù)器觸發(fā)客戶端將所述第二隨機(jī)參數(shù)作為驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值,因此服務(wù)器驗證表單隱藏域的數(shù)值與第二隨機(jī)參數(shù)是否相匹配具體是驗證表單隱藏域的數(shù)值與第二隨機(jī)參數(shù)是否相同,如果相同,則驗證通過,表明當(dāng)前提交的表單為真實用戶所填寫的表單,如果不相同,表明當(dāng)前提交的表單可能為惡意的自動填寫程序所填寫,驗證不通過。另一種情況為:為了避免服務(wù)器和客戶端之間的傳遞信息被惡意截取識別,服務(wù)器生成第二隨機(jī)參數(shù)后,所述方法還可以包括:將所述第二隨機(jī)參數(shù)通過預(yù)定義算法進(jìn)行加密生成驗證字符,并向客戶端反饋加密信息,以便于所述客戶端可以根據(jù)所述預(yù)定義算法和所述第二隨機(jī)參數(shù)生成所述驗證字符。則服務(wù)器在驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配具體為:驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述根據(jù)所述第二隨機(jī)參數(shù)生成的驗證字符是否相同。所述預(yù)定義的算法可以采用MD5等常用的加密算法,優(yōu)選地可以采用通過自定義的其他加密算法。客戶端接收到加密信息后,可以根據(jù)相同的預(yù)定義算法將第二隨機(jī)參數(shù)進(jìn)行加密以生成相同的驗證字符。所述客戶端采用的預(yù)定義算法可以是客戶端預(yù)先編譯并保存的,在接收到加密信息后,可對應(yīng)查找加密信息對應(yīng)的預(yù)定義算法;還可以是在接收到加密信息,根據(jù)所述加密信息生成的預(yù)定義算法,當(dāng)服務(wù)器采用的預(yù)定義算法為通過服務(wù)器執(zhí)行的腳本語言自定義的預(yù)定義算法時,則所述加密信息是用于觸發(fā)客戶端生成通過客戶端執(zhí)行的腳本語言,例如Javascript,自定義的所述預(yù)定義算法,其中,在程序設(shè)計過程中,所述的加密信息可以是相應(yīng)的執(zhí)行代碼,客戶端執(zhí)行所述執(zhí)行代碼即會生成所述預(yù)定義算法,并利用所述預(yù)定義算法將第二隨機(jī)參數(shù)進(jìn)行加密以生成相同的驗證字符。所述根據(jù)第二隨機(jī)參數(shù)生成驗證字符的過程可以具體是將第二隨機(jī)參數(shù)以及站點密鑰、時間戳等信息,通過所述預(yù)定義算法來生成驗證字符,以增加驗證字符的復(fù)雜度,使得不容易被破解。另外,服務(wù)器生成驗證字符后是將其保存在服務(wù)器的存儲區(qū)域,具體可以是保存在session中,并設(shè)置驗證字符過期時間,當(dāng)在過期時間內(nèi)未接收到客戶端提交的加入表單隱藏域的表單,即可直接判定表單驗證不通過。在本實施例中,服務(wù)器接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù),向客戶端發(fā)送第一觸發(fā)信息,觸發(fā)客戶端將生成的以第一隨機(jī)參數(shù)為名稱的隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定的驗證字符賦值給所述表單隱藏域,作為隱藏域的數(shù)值。當(dāng)客戶端提交所述加入表單隱藏域的表單至服務(wù)器時,服務(wù)器確定出對應(yīng)第一隨機(jī)參數(shù)的表單隱藏域,然后再驗證該表單隱藏域的數(shù)值與第二隨機(jī)參數(shù)是否相匹配,從而實現(xiàn)表單的驗證,由于每次生成表單時,表單隱藏域的名稱以及數(shù)值都是變化的,自動填寫程序由于無法獲知隱藏域名稱,因此也就不能獲知隱藏域的數(shù)值,無法成功自動填寫表單。當(dāng)服務(wù)器確定出隱藏域的數(shù)值與第二隨機(jī)參數(shù)不匹配時,就不會對該表單進(jìn)行處理,從而實現(xiàn)了表單的有效驗證。參考圖2,示出了本申請一種表單驗證方法實施例2的流程圖,該方法可以包括:步驟201:接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)。步驟202:生成第三隨機(jī)參數(shù),并將攜帶所述第三隨機(jī)參數(shù)的第二觸發(fā)信息發(fā)送給客戶端,以觸發(fā)所述客戶端將所述第三隨機(jī)參數(shù)作為表單隱藏域生成函數(shù)的函數(shù)名??蛻舳松杀韱坞[藏域具體是通過調(diào)用表單隱藏域生成函數(shù)來生成的。本實施例中,由服務(wù)器定義表單隱藏域生成函數(shù)的函數(shù)名,觸發(fā)客戶端將所述第三隨機(jī)參數(shù)作為表單隱藏域生成函數(shù)的函數(shù)名。其中,服務(wù)器還可以觸發(fā)客戶端將所述表單隱藏域生成函數(shù)進(jìn)行混淆處理,使得可以保護(hù)函數(shù)程序。所述第三隨機(jī)參數(shù)可以是服務(wù)器生成的隨機(jī)字符,優(yōu)選地,還可以是服務(wù)器將生成的隨機(jī)字符通過加密算法進(jìn)行加密后形成的。步驟203:將攜帶所述第一隨機(jī)參數(shù)、所述第二隨機(jī)參數(shù)以及定義的變量的第一觸發(fā)信息發(fā)送給所述客戶端,觸發(fā)所述客戶端將調(diào)用以所述第三隨機(jī)參數(shù)命名的表單隱藏域生成函數(shù)生成的以所述第一隨機(jī)參數(shù)為名稱,以變量為臨時數(shù)值的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述變量。由于服務(wù)器發(fā)送的第一觸發(fā)信息包括定義第一隨機(jī)參數(shù)為表單隱藏域的名稱,以及根據(jù)第二隨機(jī)參數(shù)定義表單隱藏域數(shù)值的信息。為了進(jìn)一步避免信息截獲并被破解,服務(wù)器具體的是定義生成的變量作為表單隱藏域的臨時數(shù)值,因此服務(wù)器具體是觸發(fā)客戶端生成以第一隨機(jī)參數(shù)為名稱,以變量為臨時數(shù)值的表單隱藏域,表單隱藏域的賦值過程也即是將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述變量的過程。服務(wù)器向客戶端發(fā)送第一觸發(fā)信息后,觸發(fā)客戶端調(diào)用以所述第三隨機(jī)參數(shù)命名的表單隱藏域生成函數(shù),生成以所述第一隨機(jī)參數(shù)為名稱,以變量為臨時數(shù)值的表單隱藏域。因此即便自動填寫程序可以獲取該表單隱藏域,但是無法得到該表單隱藏域的實際數(shù)值,從而增加了安全性。觸發(fā)客戶端將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述變量具體可以是觸發(fā)客戶端在檢測到有賦值事件后,將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述變量。步驟204:向所述客戶端發(fā)送隨機(jī)隱藏域觸發(fā)信息,以觸發(fā)所述客戶端將生成的多個以隨機(jī)字符為名稱的隨機(jī)隱藏域加入到表單中。服務(wù)器觸發(fā)客戶端生成表單隱藏域的同時,向所述客戶端發(fā)送隨機(jī)隱藏域觸發(fā)信息,觸發(fā)客戶端生成多個隨機(jī)隱藏域加入到表單中,以實現(xiàn)對步驟203中生成的表單隱藏域的混淆作用,使得即便自動填寫程序可以獲取到隱藏域,也無法確定出哪一個是作為表單驗證用的表單隱藏域,從而無法確定隱藏域的名稱和數(shù)值,不能實現(xiàn)表單的成功填寫。隨機(jī)隱藏域的具體生成過程與所述表單隱藏域的生成過程相似,服務(wù)器可以定義隨機(jī)變量作為隨機(jī)隱藏域的臨時數(shù)值,觸發(fā)客戶端生成以隨機(jī)字符為名稱,以隨機(jī)變量為臨時數(shù)值的表單隱藏域,所述隨機(jī)字符可以是服務(wù)器生成的,也可以是觸發(fā)客戶端生成的。步驟205:接收到客戶端提交的加入所述表單隱藏域以及隨機(jī)隱藏域的表單后,驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配。由于客戶端提交的表單中包含表單隱藏域和隨機(jī)隱藏域,因此服務(wù)器根據(jù)隱藏域的名稱確定出所述第一隨機(jī)參數(shù)對應(yīng)的隱藏域,即所述表單隱藏域,從而可對所述表單隱藏域進(jìn)行驗證。需要說明的是,本實施例與上述方法實施例1中相同或者相似的步驟可以互相參見,在此不再一一贅述。在本實施例中,服務(wù)器生成第一隨機(jī)參數(shù),第二隨機(jī)參數(shù)以及第三隨機(jī)參數(shù),并觸發(fā)客戶端將所述第三隨機(jī)參數(shù)作為表單隱藏域的生成函數(shù)的函數(shù)名,并調(diào)用所述以第三隨機(jī)參數(shù)為函數(shù)名的生成函數(shù)生成以第一隨機(jī)參數(shù)為名稱,以服務(wù)器定義的變量為臨時數(shù)值的表單隱藏域加入到表單中,并將根據(jù)第二隨機(jī)參數(shù)確定的驗證字符賦值給所述變量。同時服務(wù)器觸發(fā)客戶端生成多個以隨機(jī)字符為名稱的隨機(jī)隱藏域,實現(xiàn)對表單隱藏域的混淆作用。通過本實施例進(jìn)一步避免了表單隱藏域被截獲而被惡意利用的風(fēng)險,從而可以實現(xiàn)表單的有效驗證,能夠有效判斷出表單填寫者是否為真實的用戶,從而可以避免惡意論壇灌水、暴力破解密碼、發(fā)布垃圾信息等操作。參考圖3,示出了本申請一種表單驗證方法實施例3的流程圖,該方法可以包括:步驟301:客戶端接收到表單獲取請求后,生成表單,并向服務(wù)器發(fā)送請求消息。步驟302:服務(wù)器接收到所述請求消息后,生成第一隨機(jī)參數(shù)、第二隨機(jī)參數(shù)以及第三隨機(jī)參數(shù),并向客戶端發(fā)送攜帶第一隨機(jī)參數(shù)、第二隨機(jī)參數(shù)以及定義的變量的第一觸發(fā)信息,以及攜帶第三隨機(jī)參數(shù)的第二觸發(fā)信息。步驟303:客戶端根據(jù)所述第二觸發(fā)信息后,將所述第三隨機(jī)參數(shù)作為表單隱藏域生成函數(shù)的函數(shù)名。步驟304:客戶端根據(jù)所述第一觸發(fā)信息,調(diào)用以所述第三隨機(jī)參數(shù)命名的表單隱藏域生成函數(shù)生成的以所述第一隨機(jī)參數(shù)為名稱,以變量為臨時數(shù)值的表單隱藏域,并加入到表單中。步驟305:客戶端根據(jù)所述第一觸發(fā)信息,在檢測到賦值事件時,將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述變量。步驟306:服務(wù)器向客戶端發(fā)送隨機(jī)隱藏域觸發(fā)信息。步驟307:客戶端根據(jù)所述隨機(jī)隱藏域觸發(fā)信息,生成多個以隨機(jī)字符為名稱的隨機(jī)隱藏域加入到表單中。步驟308:客戶端接收到表單提交請求后,將所述加入表單隱藏域和隨機(jī)隱藏域的表單提交至服務(wù)器。步驟309:服務(wù)器接收到所述表單后,驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配。在本實施例中,通過服務(wù)器與客戶端的交互,客戶端每次生成的表單所加入的表單隱藏域的名稱以及數(shù)值是變化的,因此使得自動填寫程序無法截獲并惡意利用表單隱藏域,避免了在表單存在表單隱藏域的情況下,仍可能被自動填寫程序自動的風(fēng)險,從而可以實現(xiàn)表單的有效驗證。由于表單能夠有效驗證,也減少了服務(wù)器處理表單的步驟,提供了服務(wù)器的性能。對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動作順序的限制,因為依據(jù)本申請,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本申請所必須的。參見圖4,示出了本申請一種表單驗證裝置實施例1的結(jié)構(gòu)示意圖,該裝置可以包括:生成單元401,用于接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)。所述第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)可以是生成單元隨機(jī)生成的兩個字符,將其中一個字符作為第一隨機(jī)參數(shù),另一字符作為第二隨機(jī)參數(shù)。此外,為了增強信息的安全性,所述生成單元具體用于接收到客戶端的請求消息后,將隨機(jī)生成的兩個字符分別進(jìn)行加密后,形成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)。所述加密算法可以采用MD5算法,當(dāng)然還可以采用其他的加密算法,此外,為了增加加密的復(fù)雜度,所述加密算法還可以采用通過服務(wù)器執(zhí)行的腳本語言自定義的加密算法可以增加算法復(fù)雜度,使得不容易被破解。第一觸發(fā)單元402,用于將攜帶所述第一隨機(jī)參數(shù)和所述第二隨機(jī)參數(shù)的第一觸發(fā)信息發(fā)送給所述客戶端,觸發(fā)所述客戶端將生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值。所述第一觸發(fā)單元觸發(fā)客戶端生成表單隱藏域具體是觸發(fā)客戶端通過調(diào)用表單隱藏域生成函數(shù)來生成的。為了避免自動填寫程序截取客戶端的頁面代碼,進(jìn)行分析出表單隱藏域的內(nèi)容,所述裝置還可以觸發(fā)客戶端將表單隱藏域生成函數(shù)以及其他的執(zhí)行代碼進(jìn)行混淆處理,即代碼混淆,使得混淆處理后的代碼即便被截取,用戶也無法識別。另外,為了進(jìn)一步實現(xiàn)表單的有效驗證,所述第一觸發(fā)單元觸發(fā)所述客戶端將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值可以具體是觸發(fā)所述客戶端在檢測到有賦值事件時,將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值。該賦值事件是指真實用戶執(zhí)行操作時所觸發(fā)的事件,例如所述賦值事件可以是鼠標(biāo)移動事件,真實用戶在填寫表單過程中,需要操作鼠標(biāo),使得鼠標(biāo)光標(biāo)在客戶端的顯示界面移動,客戶端檢測到該鼠標(biāo)移動事件時,表明表單填寫者為真實的用戶,因此再對所述表單隱藏域賦值。從而使得即便第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù)被獲取后,仍不能實現(xiàn)表單隱藏域的正確賦值。當(dāng)然所述的賦值事件還可以是鍵盤操作事件等可以區(qū)分真實用戶與自動填寫程序所執(zhí)行的表單操作的事件。驗證單元403,用于接收到客戶端提交的加入所述表單隱藏域的表單后,驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配。作為一個實施例,所述驗證單元驗證該表單隱藏域的數(shù)值與其生成的第二隨機(jī)參數(shù)是否相匹配一種可能的情況為:所述第一觸發(fā)單元具體是觸發(fā)客戶端將所述第二隨機(jī)參數(shù)作為驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值。因此,所述驗證單元具體是驗證表單隱藏域的數(shù)值與第二隨機(jī)參數(shù)是否相匹配具體是驗證表單隱藏域的數(shù)值與第二隨機(jī)參數(shù)是否相同,如果相同,則驗證通過,表明當(dāng)前提交的表單為真實用戶所填寫的表單,如果不相同,表明當(dāng)前提交的表單可能為惡意的自動填寫程序所填寫,驗證不通過。作為另一個實施例,為了避免信息傳遞過程中被惡意截取識別,所述裝置還可以包括:加密反饋單元,用于將所述第二隨機(jī)參數(shù)通過預(yù)定義算法進(jìn)行加密生成驗證字符,并向客戶端反饋加密信息,以便于所述客戶端根據(jù)所述預(yù)定義算法和所述第二隨機(jī)參數(shù)生成所述驗證字符。則所述驗證單元具體用于驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述根據(jù)所述第二隨機(jī)參數(shù)生成的驗證字符是否相同。所述預(yù)定義的算法可以采用MD5等常用的加密算法,優(yōu)選地可以采用自定義的其他加密算法??蛻舳私邮盏郊用苄畔⒑螅梢愿鶕?jù)相同的預(yù)定義算法將第二隨機(jī)參數(shù)進(jìn)行加密以生成相同的驗證字符。所述客戶端采用的預(yù)定義算法可以是客戶端預(yù)先編譯并保存的,在接收到加密信息后,可對應(yīng)查找加密信息對應(yīng)的預(yù)定義算法;還可以是在接收到加密信息,根據(jù)所述加密信息生成的預(yù)定義算法,當(dāng)服務(wù)器采用的預(yù)定義算法為通過服務(wù)器執(zhí)行的腳本語言自定義的預(yù)定義算法時,則所述加密信息是用于觸發(fā)客戶端生成通過客戶端執(zhí)行的腳本語言,例如Javascript,自定義的所述預(yù)定義算法,其中,在程序設(shè)計過程中,所述的加密信息可以是相應(yīng)的執(zhí)行代碼,客戶端執(zhí)行所述執(zhí)行代碼即會生成預(yù)定義算法,并利用所述預(yù)定義算法將第二隨機(jī)參數(shù)進(jìn)行加密以生成相同的驗證字符。所述根據(jù)第二隨機(jī)參數(shù)生成驗證字符的過程可以具體是將第二隨機(jī)參數(shù)以及站點密鑰、時間戳等信息,通過所述預(yù)定義算法來生成驗證字符,以增加驗證字符的復(fù)雜度,使得不容易被破解。在本實施例中,生成單元接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù),由第一觸發(fā)單元觸發(fā)客戶端將生成的以第一隨機(jī)參數(shù)為名稱的隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定的驗證字符賦值給所述隱藏域,作為隱藏域的數(shù)值。當(dāng)客戶端提交所述表單至服務(wù)器時,驗證單元確定出對應(yīng)第一隨機(jī)參數(shù)的隱藏域,然后再驗證該隱藏域的數(shù)值與第二隨機(jī)參數(shù)是否相匹配,從而實現(xiàn)表單的驗證,由于每次生成表單時,表單隱藏域的名稱以及數(shù)值都是變化的,自動填寫程序由于無法獲知隱藏域名稱,因此也就不能獲知隱藏域的數(shù)值,無法成功自動填寫表單。當(dāng)確定出隱藏域的數(shù)值與第二隨機(jī)參數(shù)不匹配時,就不會對該表單進(jìn)行處理,從而實現(xiàn)了表單的有效驗證。本實施例所述的裝置可以集成到用于表單服務(wù)器上,也可以單獨作為一個實體與表單服務(wù)器相連,另外,需要說明的是,當(dāng)本申請所述的方法采用軟件實現(xiàn)時,可以作為表單服務(wù)器新增的一個功能,也可以單獨編寫相應(yīng)的程序,本申請不限定所述方法或裝置的實現(xiàn)方式。所述的表單服務(wù)器具體可以是web服務(wù)器。參見圖5,示出了本申請一種表單驗證裝置實施例2的結(jié)構(gòu)示意圖,該裝置可以包括:生成單元501:用于接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)、第二隨機(jī)參數(shù)和第三隨機(jī)參數(shù)。第二觸發(fā)單元502:用于將攜帶所述第三隨機(jī)參數(shù)的第二觸發(fā)信息發(fā)送給客戶端,以觸發(fā)所述客戶端將所述第三隨機(jī)參數(shù)作為表單隱藏域生成函數(shù)的函數(shù)名。具體的,所述第三觸發(fā)單元還用于觸發(fā)所述客戶端將所述表單隱藏域生成函數(shù)進(jìn)行混淆處理,使得可以保護(hù)函數(shù)程序。所述第三隨機(jī)參數(shù)可以是服務(wù)器生成的隨機(jī)字符,優(yōu)選地,還可以是生成單元將生成的隨機(jī)字符通過加密算法進(jìn)行加密后形成的。第一觸發(fā)單元503:用于將攜帶所述第一隨機(jī)參數(shù)、所述第二隨機(jī)參數(shù)的第一觸發(fā)信息發(fā)送給所述客戶端,觸發(fā)所述客戶端將通過調(diào)用以所述第三隨機(jī)參數(shù)命名的表單隱藏域生成函數(shù),生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中。其中,所述第一觸發(fā)單元發(fā)送的第一觸發(fā)信息中還可以包括定義的變量,則所述第一觸發(fā)單元具體用于觸發(fā)客戶端將通過調(diào)用以所述第三隨機(jī)參數(shù)命名的表單隱藏域生成函數(shù),生成的以所述第一隨機(jī)參數(shù)為名稱,以變量為臨時數(shù)值的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述變量。通過將變量作為臨時數(shù)值,即便自動填寫程序可以獲取該表單隱藏域,但是無法得到該表單隱藏域的實際數(shù)值,從而增加了安全性。第三觸發(fā)單元504:向所述客戶端發(fā)送隨機(jī)隱藏域觸發(fā)信息,以觸發(fā)所述客戶端將生成的多個以隨機(jī)字符為名稱的隨機(jī)隱藏域加入到表單中。所述第三觸發(fā)單元觸發(fā)客戶端生成的隨機(jī)隱藏域,實現(xiàn)了對表單隱藏域的混淆作用,使得即便自動填寫程序可以獲取到隱藏域,也無法確定出哪一個是作為表單驗證用的表單隱藏域,從而無法確定隱藏域的名稱和數(shù)值,不能實現(xiàn)表單的成功填寫。驗證單元505:用于接收到客戶端提交的加入所述表單隱藏域以及隨機(jī)隱藏域的表單后,驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配。由于客戶端提交的表單中包含表單隱藏域和隨機(jī)隱藏域,因此驗證單元根據(jù)隱藏域的名稱確定出所述第一隨機(jī)參數(shù)對應(yīng)的隱藏域,即所述表單隱藏域,從而可對所述表單隱藏域進(jìn)行驗證。在本實施例中,生成單元生成第一隨機(jī)參數(shù),第二隨機(jī)參數(shù)以及第三隨機(jī)參數(shù),第二觸發(fā)單元觸發(fā)客戶端將所述第三隨機(jī)參數(shù)作為表單隱藏域的生成函數(shù)的函數(shù)名,第一觸發(fā)單元觸發(fā)客戶端調(diào)用所述以第三隨機(jī)參數(shù)為函數(shù)名的生成函數(shù)生成以第一隨機(jī)參數(shù)為名稱,以服務(wù)器定義的變量為臨時數(shù)值的表單隱藏域加入到表單中,并將根據(jù)第二隨機(jī)參數(shù)確定的驗證字符賦值給所述變量。同時第三觸發(fā)單元觸發(fā)客戶端生成多個以隨機(jī)字符為名稱的隨機(jī)隱藏域,實現(xiàn)對表單隱藏域的混淆作用。通過本實施例進(jìn)一步避免了表單隱藏域被截獲而被惡意利用的風(fēng)險,從而可以實現(xiàn)表單的有效驗證,能夠有效判斷出表單填寫者是否為真實的用戶,從而可以避免惡意論壇灌水、暴力破解密碼、發(fā)布垃圾信息等操作。與上述本申請一種表單驗證方法和裝置實施例相對應(yīng),本申請還提供了一種表單驗證系統(tǒng)的實施例,在本實施例中,該系統(tǒng)具體可以包括客戶端和服務(wù)器,所述客戶端,用于向所述服務(wù)器發(fā)送請求消息;根據(jù)所述服務(wù)器發(fā)送的攜帶第一隨機(jī)參數(shù)和所述第二隨機(jī)參數(shù)的第一觸發(fā)信息,將生成的以所述第一隨機(jī)參數(shù)為名稱的表單隱藏域加入到表單中,并將根據(jù)所述第二隨機(jī)參數(shù)確定出的驗證字符賦值給所述表單隱藏域,作為表單隱藏域的數(shù)值;提交所述加入表單隱藏域的表單至所述服務(wù)器;所述服務(wù)器,用于接收到客戶端的請求消息后,生成第一隨機(jī)參數(shù)和第二隨機(jī)參數(shù);將攜帶所述第一隨機(jī)參數(shù)和所述第二隨機(jī)參數(shù)的第一觸發(fā)信息發(fā)送給所述客戶端,接收到客戶端提交的加入所述表單隱藏域的表單后,驗證所述第一隨機(jī)參數(shù)對應(yīng)的表單隱藏域的數(shù)值與所述第二隨機(jī)參數(shù)是否相匹配。通過本實施例所述的服務(wù)器和客戶端,可以有效實現(xiàn)表單的驗證,從而可以避免惡意論壇灌水、暴力破解密碼、發(fā)布垃圾信息等操作。服務(wù)器在驗證出表單隱藏域的數(shù)值與第二隨機(jī)參數(shù)不匹配時,即該表單驗證不通過時,服務(wù)器即不會對該表單進(jìn)行處理,因此可以減少服務(wù)器的操作步驟,可以提高服務(wù)器的處理性能。需要說明的是,本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)。基于這樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。以上對本申請所提供的一種檢索方法、裝置及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1