TWI587679B - Form validation methods, devices and systems - Google Patents
Form validation methods, devices and systems Download PDFInfo
- Publication number
- TWI587679B TWI587679B TW101121116A TW101121116A TWI587679B TW I587679 B TWI587679 B TW I587679B TW 101121116 A TW101121116 A TW 101121116A TW 101121116 A TW101121116 A TW 101121116A TW I587679 B TWI587679 B TW I587679B
- Authority
- TW
- Taiwan
- Prior art keywords
- random parameter
- hidden field
- random
- value
- verification
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
- Storage Device Security (AREA)
Description
本發明涉及網路技術領域,特別涉及一種表單驗證方法、裝置和系統。
表單是用戶端與伺服器,如web網頁瀏覽器與web伺服器之間進行資料交互的重要手段之一,其在用戶端中負責資料獲取。
表單通常包括表單域和表單按鈕等元件,其中表單域由輸入框,例如文本框和密碼框等組成。為了資料傳輸的安全性,表單產生的同時還會產生預設名稱的表單隱藏域,表單隱藏域為表單中不可見的元素,在表單提交時,即可將隱藏域的數值資訊按照所設置好的名稱發送至伺服器。
在實際應用中,用戶端接收到用戶的獲取表單請求時,產生表單,用戶即可在表單輸入框中填寫資料,填寫完成後藉由表單按鈕觸發用戶端將表單提交至伺服器,伺服器即可對表單數據進行處理。但是根據現有的這種表單應用的工作方式,伺服器無法從提交的表單數據中判斷出表單的填寫者是否為真實的用戶。因此,很多用戶可以繞過表單的人工填寫步驟,藉由自動填寫工具或者專門的機器人等自動填寫程式,來抓取表單頁面的資訊,實現自動識別表單、批量註冊、自動登錄等,從而進行惡意論壇灌
水、暴力破解密碼、發佈垃圾資訊等操作。因此如何對表單進行驗證,以判斷表單填寫者是否為真實用戶成為目前表單應用中迫切需要解決的問題。
現有的一種表單驗證方法是藉由驗證表單的隱藏域來實現的,表單隱藏域包括名稱和數值,在一次表單應用中,伺服器產生隨機字元傳遞至用戶端,觸發用戶端將隨機字元作為表單隱藏域的數值,因此伺服器接收到用戶端提交的用戶填寫好的表單時,藉由驗證表單隱藏域的數值是否與產生的隨機字元相匹配來實現對表單的驗證。
但是由於用戶端產生表單的同時即產生表單隱藏域,表單隱藏域的名稱是預先設置好的,每次產生的表單隱藏域的名稱均一樣,惡意的自動填寫程式藉由多次抓取表單頁面的資訊,即可分析得出表單隱藏域的名稱,也就可以對應獲取隱藏域的數值,使得仍可識別表單從而進行表單自動填寫,因此仍無法確定出表單的填寫者是否為真實用戶,不能實現表單的有效驗證。
本發明所要解決的技術問題是提供一種表單驗證方法,用以解決現有技術中表單驗證方法不能實現有效驗證的技術問題。
本發明還提供了一種表單驗證裝置和系統,用以保證上述方法在實際中的實現及應用。
本發明一方面,提供了一種表單驗證方法,包括:
接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數;將攜帶所述第一隨機參數和所述第二隨機參數的第一觸發資訊發送給所述用戶端,以觸發所述用戶端將產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值;接收到用戶端提交的加入所述表單隱藏域的表單後,驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配。
較佳地,所述觸發所述用戶端將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值具體為:觸發所述用戶端將所述第二隨機參數作為驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值;則所述驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配具體為:驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相同。
較佳地,所述產生所述第二隨機參數後,所述方法還包括:將所述第二隨機參數藉由預定義演算法進行加密產生驗證字元,並向用戶端回饋加密資訊,以便於所述用戶端根據所述預定義演算法和所述第二隨機參數產生所述驗證
字元;則所述驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配具體為:驗證所述第一隨機參數對應的表單隱藏域的數值與所述根據所述第二隨機參數產生的驗證字元是否相同。
較佳地,所述第一觸發資訊還包含定義的變數,則所述觸發所述用戶端將產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中,將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值,具體為:觸發所述用戶端將產生的以所述第一隨機參數為名稱,以變數為臨時數值的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定出的驗證字元賦值給所述變數。
較佳地,所述方法還包括:產生第三隨機參數,並將攜帶所述第三隨機參數的第二觸發資訊發送給用戶端,以觸發所述用戶端將所述第三隨機參數作為表單隱藏域產生函數的函數名;則所述觸發所述用戶端將產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中具體為:觸發所述用戶端將調用以所述第三隨機參數命名的表單隱藏域產生函數,產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中。
較佳地,所述觸發所述用戶端將所述第三隨機參數作
為表單隱藏域產生函數的函數名具體為:觸發所述用戶端將所述第三隨機參數作為表單隱藏域產生函數的函數名,並將所述表單隱藏域產生函數進行混淆處理。
較佳地,所述將攜帶所述第一隨機參數和所述第二隨機參數的第一觸發資訊發送給所述用戶端的同時,所述方法還包括:向所述用戶端發送隨機隱藏域觸發資訊,以觸發所述用戶端將產生的多個以隨機字元為名稱的隨機隱藏域加入到表單中。
較佳地,所述觸發所述用戶端將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值具體為:觸發所述用戶端在檢測到有賦值事件時,將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值。
較佳地,所述產生第一隨機參數和第二隨機參數具體是:將隨機產生的兩個字元分別進行加密後,形成第一隨機參數和第二隨機參數。
本發明又一方面,提供了一種表單驗證裝置,包括:產生單元,用於接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數;第一觸發單元,用於將攜帶所述第一隨機參數和所述
第二隨機參數的第一觸發資訊發送給所述用戶端,觸發所述用戶端將產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值;驗證單元,用於接收到用戶端提交的加入所述表單隱藏域的表單後,驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配。
較佳地,所述第一觸發單元觸發所述用戶端將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值具體為:觸發所述用戶端將所述第二隨機參數作為驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值;則所述驗證單元具體用於驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相同。
較佳地,所述裝置還包括:加密回饋單元,用於將所述第二隨機參數藉由預定義演算法進行加密產生驗證字元,並向用戶端回饋加密資訊,以便於所述用戶端根據所述預定義演算法和所述第二隨機參數產生所述驗證字元;則所述驗證單元具體用於驗證所述第一隨機參數對應的表單隱藏域的數值與所述根據所述第二隨機參數產生的驗證字元是否相同。
較佳地,所述第一觸發資訊還包含定義的變數,則所述第一觸發單元具體用於觸發所述用戶端將產生的以所述
第一隨機參數為名稱,以變數為臨時數值的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定出的驗證字元賦值給所述變數。
較佳地,所述產生單元還用於產生第三隨機參數,則所述裝置還包括:第二觸發單元,用於將攜帶所述第三隨機參數的第二觸發資訊發送給用戶端,以觸發所述用戶端將所述第三隨機參數作為表單隱藏域產生函數的函數名;則所述第一觸發單元具體用於觸發所述用戶端將藉由調用以所述第三隨機參數命名的表單隱藏域產生函數,產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中。
較佳地,所述裝置還包括:第三觸發單元,用於向所述用戶端發送隨機隱藏域觸發資訊,以觸發所述用戶端將產生的多個以隨機字元為名稱的隨機隱藏域加入到表單中。
較佳地,所述第一觸發單元觸發所述用戶端將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值具體是觸發所述用戶端在檢測到有賦值事件時,將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值。
本發明又一方面,提供一種表單驗證系統,包括用戶端和伺服器,所述用戶端,用於向所述伺服器發送請求消息;根據
所述伺服器發送的攜帶第一隨機參數和所述第二隨機參數的第一觸發資訊,將產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值;提交所述加入表單隱藏域的表單至所述伺服器;所述伺服器,用於接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數;將攜帶所述第一隨機參數和所述第二隨機參數的第一觸發資訊發送給所述用戶端,接收到用戶端提交的加入所述表單隱藏域的表單後,驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配。
與現有技術相比,本發明包括以下優點:在本發明中,當接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數,並向用戶端發送第一觸發資訊,觸發用戶端將產生的以第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定的驗證字元賦值給所述表單隱藏域,作為隱藏域的數值。當接收到用戶端提交的加入所述表單隱藏域的表單時,驗證第一隨機參數對應的表單隱藏域的數值與第二隨機參數是否相匹配,從而實現表單的驗證,由於每次產生表單時,表單隱藏域的名稱以及數值都是變化的,自動填寫程式由於無法獲知隱藏功能變數名稱,因此也就不能獲知隱藏域的數值,無法成功自動填寫表單。當確定出隱藏域的數值與第二隨機參數不匹配時,就不會對該表單進行處理,從而
實現了表單的有效驗證。
當然,實施本發明的任一產品並不一定需要同時達到以上所述的所有優點。
下面將結合本發明實施例中的圖式,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明可用於眾多通用或專用的計算裝置環境或配置中。例如:個人電腦、伺服器電腦、手持設備或可攜式設備、平板型設備、多處理器裝置、包括以上任何裝置或設備的分散式計算環境等等。
本發明可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、元件、資料結構等等。也可以在分散式計算環境中實踐本發明,在這些分散式計算環境中,由藉由通信網路而被連接的遠端處理設備來執行任務。在分散式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠端電腦儲存媒體中。
本發明的主要思想之一可以包括,伺服器接收到用戶
端的請求消息後,產生第一隨機參數和第二隨機參數,並向用戶端發送第一觸發資訊,觸發用戶端將產生的以第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定的驗證字元賦值給所述表單隱藏域,作為隱藏域的數值。伺服器接收到用戶端提交的加入所述表單隱藏域的表單時,驗證第一隨機參數對應的表單隱藏域的數值與第二隨機參數是否相匹配,從而實現表單的驗證,由於每次產生表單時,表單隱藏域的名稱以及數值都是變化的,自動填寫程式由於無法獲知隱藏功能變數名稱,因此也就不能獲知隱藏域的數值,無法成功自動填寫表單。當確定出隱藏域的數值與第二隨機參數不匹配時,伺服器就不會對該表單進行處理,從而實現了表單的有效驗證。
參考圖1,示出了本發明一種表單驗證方法實施例1的流程圖,可以包括以下步驟:
步驟101:接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數。
用戶藉由用戶端的用戶介面請求獲取表單時,用戶端即會產生相應的表單,並向伺服器發送請求消息,伺服器即接收該用戶端發送的請求消息。所述表單例如可以是註冊/登錄表單,或者貼吧網站中的發帖表單等。
所述第一隨機參數和第二隨機參數可以是隨機產生的兩個字元,將其中一個字元作為第一隨機參數,另一字元作為第二隨機參數。
其中,為了增強資訊的安全性,防止被竊取,所述的第一隨機參數和第二隨機參數可以是隨機產生的字元進行加密後所形成的,例如可以是藉由密鑰演算法加密形成的隨機密鑰,具體的,伺服器接收到用戶端的請求消息後,隨機產生字元a和b,分別根據字元a和b,以及站點密鑰和/或時間戳等資訊藉由加密演算法產生密鑰A和B,分別作為第一隨機參數和第二隨機參數。所述站點密鑰可以是指用戶當前登錄網站的唯一識別碼;時間戳例如可以為Unix時間戳,用於表示時間;所述加密演算法可以採用MD5(Message Digest Algorithm MD5,消息摘要演算法第五版)演算法,當然還可以採用其他的加密演算法,此外,為了增加加密的複雜度,所述加密演算法還可以採用藉由伺服器端執行的腳本語言,例如PHP(Hypertext Preprocessor,超級文本預處理語言),自定義的加密演算法,因此增加了演算法複雜度,使得不容易被破解。
步驟102:將攜帶所述第一隨機參數和所述第二隨機參數的第一觸發資訊發送給所述用戶端,以觸發所述用戶端將產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值。
產生第一隨機參數和第二隨機參數後,伺服器可以將所述第一隨機參數定義為表單隱藏域的名稱,並定義表單隱藏域的數值相關資訊,向用戶端發送第一觸發資訊,所述第一觸發資訊即會觸發用戶端執行相應的操作。
具體的,所述的第一觸發資訊可以包括產生表單隱藏域的執行代碼。伺服器根據所述第一隨機參數和第二隨機參數產生表單隱藏域的執行代碼,用戶端接收到第一觸發資訊後,運行所述執行代碼的過程,即是產生以第一隨機參數為名稱的表單隱藏域,將其加入到表單,並將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值的過程。
用戶端產生表單隱藏域具體是藉由調用表單隱藏域產生函數來產生的。為了避免惡意程式截取用戶端的頁面代碼,進行分析出表單隱藏域的內容,伺服器可以觸發用戶端將表單隱藏域產生函數以及其他的執行代碼進行混淆處理,即代碼混淆,使得混淆處理後的代碼即便被截取,用戶也無法識別。
其中,觸發用戶端將表單隱藏域加入到表單中,即是觸發用戶端將產生的表單隱藏域插入表單頁面中,當用戶端提交表單時,表單隱藏域即會一同被提交。
另外,為了進一步實現表單的有效驗證,所述觸發所述用戶端將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值可以具體是:
觸發所述用戶端在檢測到有賦值事件時,將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值。
表單隱藏域包括名稱和數值,伺服器向用戶端發送第一觸發資訊,觸發用戶端將產生的以第一隨機參數為名稱
的表單隱藏域加入到表單中,並不立即為所述表單隱藏域賦值,而是觸發用戶端在檢測到有賦值事件時在進行賦值操作。
該賦值事件是指真實用戶執行操作時所觸發的事件,例如所述賦值事件可以是滑鼠移動事件,真實用戶在填寫表單過程中,需要操作滑鼠,使得滑鼠游標在用戶端的顯示介面移動,用戶端檢測到該滑鼠移動事件時,表明表單填寫者為真實的用戶,因此再對所述表單隱藏域賦值。從而使得即便第一隨機參數和第二隨機參數被獲取後,仍不能實現表單隱藏域的正確賦值。
當然所述的賦值事件還可以是鍵盤操作事件等可以區分真實用戶與自動填寫程式所執行的表單操作的事件。
步驟103:接收到用戶端提交的加入所述表單隱藏域的表單後,驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配。
用戶端接收到表單提交請求時,即將加入所述表單隱藏域的表單提交至伺服器,所述表單提交請求可以是用戶填寫完表單後藉由用戶端介面的表單提交按鈕後觸發用戶端提交的,也可能是自動填寫程式來觸發用戶端提交的。
伺服器接收到所述加入表單隱藏域的表單後,由於是由伺服器觸發用戶端產生的以第一隨機參數為名稱的表單隱藏域,並將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,因此在接收到用戶端提交的表單後,為實現對表單的驗證,伺服器首先確定出其產生的第
一隨機參數對應的表單隱藏域,然後驗證該表單隱藏域的數值與其產生的第二隨機參數是否相匹配。由於在一次表單獲取到提交的過程中,伺服器均會產生第一隨機參數和第二隨機參數,因此使得每次獲取的表單所加入的表單隱藏域的名稱是不一樣的,數值也是變化的,使得自動填寫程式無法獲知表單隱藏域的名稱,也就無法分析出表單隱藏域的數值,而隱藏域的數值是伺服器觸發用戶端將根據第二隨機參數確定的驗證字元賦值給表單隱藏域的,因此伺服器驗證出第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數不相匹配,即認為當前提交的表單並不是真實用戶所填寫的表單,即可將其捨棄,不做後續處理。而如果相匹配則表明當前提交的表單是真實用戶所填寫的表單,則根據表單所填寫的內容進行處理,例如進行身份驗證,將登錄資訊回饋給用戶端;觸發用戶端發佈表單資訊等。
其中,所述驗證該表單隱藏域的數值與其產生的第二隨機參數是否相匹配一種可能的情況為:伺服器觸發用戶端將所述第二隨機參數作為驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值,因此伺服器驗證表單隱藏域的數值與第二隨機參數是否相匹配具體是驗證表單隱藏域的數值與第二隨機參數是否相同,如果相同,則驗證通過,表明當前提交的表單為真實用戶所填寫的表單,如果不相同,表明當前提交的表單可能為惡意的自動填寫程式所填寫,驗證不通過。
另一種情況為:為了避免伺服器和用戶端之間的傳遞資訊被惡意截取識別,伺服器產生第二隨機參數後,所述方法還可以包括:將所述第二隨機參數藉由預定義演算法進行加密產生驗證字元,並向用戶端回饋加密資訊,以便於所述用戶端可以根據所述預定義演算法和所述第二隨機參數產生所述驗證字元。則伺服器在驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配具體為:驗證所述第一隨機參數對應的表單隱藏域的數值與所述根據所述第二隨機參數產生的驗證字元是否相同。
所述預定義的演算法可以採用MD5等常用的加密演算法,較佳地可以採用藉由自定義的其他加密演算法。用戶端接收到加密資訊後,可以根據相同的預定義演算法將第二隨機參數進行加密以產生相同的驗證字元。所述用戶端採用的預定義演算法可以是用戶端預先編譯並保存的,在接收到加密資訊後,可對應查找加密資訊對應的預定義演算法;還可以是在接收到加密資訊,根據所述加密資訊產生的預定義演算法,當伺服器採用的預定義演算法為藉由伺服器執行的腳本語言自定義的預定義演算法時,則所述加密資訊是用於觸發用戶端產生藉由用戶端執行的腳本語言,例如Javascript,自定義的所述預定義演算法,其中,在程式設計過程中,所述的加密資訊可以是相應的執行代碼,用戶端執行所述執行代碼即會產生所述預定義演算法,並利用所述預定義演算法將第二隨機參數進行加密
以產生相同的驗證字元。
所述根據第二隨機參數產生驗證字元的過程可以具體是將第二隨機參數以及站點密鑰、時間戳等資訊,藉由所述預定義演算法來產生驗證字元,以增加驗證字元的複雜度,使得不容易被破解。
另外,伺服器產生驗證字元後是將其保存在伺服器的儲存區域,具體可以是保存在對話(session)中,並設置驗證字元過期時間,當在過期時間內未接收到用戶端提交的加入表單隱藏域的表單,即可直接判定表單驗證不通過。
在本實施例中,伺服器接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數,向用戶端發送第一觸發資訊,觸發用戶端將產生的以第一隨機參數為名稱的隱藏域加入到表單中,並將根據所述第二隨機參數確定的驗證字元賦值給所述表單隱藏域,作為隱藏域的數值。當用戶端提交所述加入表單隱藏域的表單至伺服器時,伺服器確定出對應第一隨機參數的表單隱藏域,然後再驗證該表單隱藏域的數值與第二隨機參數是否相匹配,從而實現表單的驗證,由於每次產生表單時,表單隱藏域的名稱以及數值都是變化的,自動填寫程式由於無法獲知隱藏功能變數名稱,因此也就不能獲知隱藏域的數值,無法成功自動填寫表單。當伺服器確定出隱藏域的數值與第二隨機參數不匹配時,就不會對該表單進行處理,從而實現了表單的有效驗證。
參考圖2,示出了本發明一種表單驗證方法實施例2
的流程圖,該方法可以包括:
步驟201:接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數。
步驟202:產生第三隨機參數,並將攜帶所述第三隨機參數的第二觸發資訊發送給用戶端,以觸發所述用戶端將所述第三隨機參數作為表單隱藏域產生函數的函數名。
用戶端產生表單隱藏域具體是藉由調用表單隱藏域產生函數來產生的。本實施例中,由伺服器定義表單隱藏域產生函數的函數名,觸發用戶端將所述第三隨機參數作為表單隱藏域產生函數的函數名。
其中,伺服器還可以觸發用戶端將所述表單隱藏域產生函數進行混淆處理,使得可以保護函數程式。
所述第三隨機參數可以是伺服器產生的隨機字元,較佳地,還可以是伺服器將產生的隨機字元藉由加密演算法進行加密後形成的。
步驟203:將攜帶所述第一隨機參數、所述第二隨機參數以及定義的變數的第一觸發資訊發送給所述用戶端,觸發所述用戶端將調用以所述第三隨機參數命名的表單隱藏域產生函數產生的以所述第一隨機參數為名稱,以變數為臨時數值的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定出的驗證字元賦值給所述變數。
由於伺服器發送的第一觸發資訊包括定義第一隨機參數為表單隱藏域的名稱,以及根據第二隨機參數定義表單隱藏域數值的資訊。為了進一步避免資訊截獲並被破解,
伺服器具體的是定義產生的變數作為表單隱藏域的臨時數值,因此伺服器具體是觸發用戶端產生以第一隨機參數為名稱,以變數為臨時數值的表單隱藏域,表單隱藏域的賦值過程也即是將根據所述第二隨機參數確定出的驗證字元賦值給所述變數的過程。
伺服器向用戶端發送第一觸發資訊後,觸發用戶端調用以所述第三隨機參數命名的表單隱藏域產生函數,產生以所述第一隨機參數為名稱,以變數為臨時數值的表單隱藏域。因此即便自動填寫程式可以獲取該表單隱藏域,但是無法得到該表單隱藏域的實際數值,從而增加了安全性。
觸發用戶端將根據所述第二隨機參數確定出的驗證字元賦值給所述變數具體可以是觸發用戶端在檢測到有賦值事件後,將根據所述第二隨機參數確定出的驗證字元賦值給所述變數。
步驟204:向所述用戶端發送隨機隱藏域觸發資訊,以觸發所述用戶端將產生的多個以隨機字元為名稱的隨機隱藏域加入到表單中。
伺服器觸發用戶端產生表單隱藏域的同時,向所述用戶端發送隨機隱藏域觸發資訊,觸發用戶端產生多個隨機隱藏域加入到表單中,以實現對步驟203中產生的表單隱藏域的混淆作用,使得即便自動填寫程式可以獲取到隱藏域,也無法確定出哪一個是作為表單驗證用的表單隱藏域,從而無法確定隱藏域的名稱和數值,不能實現表單的
成功填寫。
隨機隱藏域的具體產生過程與所述表單隱藏域的產生過程相似,伺服器可以定義隨機變數作為隨機隱藏域的臨時數值,觸發用戶端產生以隨機字元為名稱,以隨機變數為臨時數值的表單隱藏域,所述隨機字元可以是伺服器產生的,也可以是觸發用戶端產生的。
步驟205:接收到用戶端提交的加入所述表單隱藏域以及隨機隱藏域的表單後,驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配。
由於用戶端提交的表單中包含表單隱藏域和隨機隱藏域,因此伺服器根據隱藏域的名稱確定出所述第一隨機參數對應的隱藏域,即所述表單隱藏域,從而可對所述表單隱藏域進行驗證。
需要說明的是,本實施例與上述方法實施例1中相同或者相似的步驟可以互相參見,在此不再一一贅述。
在本實施例中,伺服器產生第一隨機參數,第二隨機參數以及第三隨機參數,並觸發用戶端將所述第三隨機參數作為表單隱藏域的產生函數的函數名,並調用所述以第三隨機參數為函數名的產生函數產生以第一隨機參數為名稱,以伺服器定義的變數為臨時數值的表單隱藏域加入到表單中,並將根據第二隨機參數確定的驗證字元賦值給所述變數。同時伺服器觸發用戶端產生多個以隨機字元為名稱的隨機隱藏域,實現對表單隱藏域的混淆作用。藉由本實施例進一步避免了表單隱藏域被截獲而被惡意利用的風
險,從而可以實現表單的有效驗證,能夠有效判斷出表單填寫者是否為真實的用戶,從而可以避免惡意論壇灌水、暴力破解密碼、發佈垃圾資訊等操作。
參考圖3,示出了本發明一種表單驗證方法實施例3的流程圖,該方法可以包括:
步驟301:用戶端接收到表單獲取請求後,產生表單,並向伺服器發送請求消息。
步驟302:伺服器接收到所述請求消息後,產生第一隨機參數、第二隨機參數以及第三隨機參數,並向用戶端發送攜帶第一隨機參數、第二隨機參數以及定義的變數的第一觸發資訊,以及攜帶第三隨機參數的第二觸發資訊。
步驟303:用戶端根據所述第二觸發資訊後,將所述第三隨機參數作為表單隱藏域產生函數的函數名。
步驟304:用戶端根據所述第一觸發資訊,調用以所述第三隨機參數命名的表單隱藏域產生函數產生的以所述第一隨機參數為名稱,以變數為臨時數值的表單隱藏域,並加入到表單中。
步驟305:用戶端根據所述第一觸發資訊,在檢測到賦值事件時,將根據所述第二隨機參數確定出的驗證字元賦值給所述變數。
步驟306:伺服器向用戶端發送隨機隱藏域觸發資訊。
步驟307:用戶端根據所述隨機隱藏域觸發資訊,產生多個以隨機字元為名稱的隨機隱藏域加入到表單中。
步驟308:用戶端接收到表單提交請求後,將所述加入表單隱藏域和隨機隱藏域的表單提交至伺服器。
步驟309:伺服器接收到所述表單後,驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配。
在本實施例中,藉由伺服器與用戶端的交互,用戶端每次產生的表單所加入的表單隱藏域的名稱以及數值是變化的,因此使得自動填寫程式無法截獲並惡意利用表單隱藏域,避免了在表單存在表單隱藏域的情況下,仍可能被自動填寫程式自動的風險,從而可以實現表單的有效驗證。由於表單能夠有效驗證,也減少了伺服器處理表單的步驟,提供了伺服器的性能。
對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於較佳實施例,所涉及的動作和模組並不一定是本發明所必須的。
參見圖4,示出了本發明一種表單驗證裝置實施例1的結構示意圖,該裝置可以包括:
產生單元401,用於接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數。
所述第一隨機參數和第二隨機參數可以是產生單元隨
機產生的兩個字元,將其中一個字元作為第一隨機參數,另一字元作為第二隨機參數。
此外,為了增強資訊的安全性,所述產生單元具體用於接收到用戶端的請求消息後,將隨機產生的兩個字元分別進行加密後,形成第一隨機參數和第二隨機參數。所述加密演算法可以採用MD5演算法,當然還可以採用其他的加密演算法,此外,為了增加加密的複雜度,所述加密演算法還可以採用藉由伺服器執行的腳本語言自定義的加密演算法可以增加演算法複雜度,使得不容易被破解。
第一觸發單元402,用於將攜帶所述第一隨機參數和所述第二隨機參數的第一觸發資訊發送給所述用戶端,觸發所述用戶端將產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值。
所述第一觸發單元觸發用戶端產生表單隱藏域具體是觸發用戶端藉由調用表單隱藏域產生函數來產生的。為了避免自動填寫程式截取用戶端的頁面代碼,進行分析出表單隱藏域的內容,所述裝置還可以觸發用戶端將表單隱藏域產生函數以及其他的執行代碼進行混淆處理,即代碼混淆,使得混淆處理後的代碼即便被截取,用戶也無法識別。
另外,為了進一步實現表單的有效驗證,所述第一觸發單元觸發所述用戶端將根據所述第二隨機參數確定出的
驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值可以具體是觸發所述用戶端在檢測到有賦值事件時,將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值。
該賦值事件是指真實用戶執行操作時所觸發的事件,例如所述賦值事件可以是滑鼠移動事件,真實用戶在填寫表單過程中,需要操作滑鼠,使得滑鼠游標在用戶端的顯示介面移動,用戶端檢測到該滑鼠移動事件時,表明表單填寫者為真實的用戶,因此再對所述表單隱藏域賦值。從而使得即便第一隨機參數和第二隨機參數被獲取後,仍不能實現表單隱藏域的正確賦值。
當然所述的賦值事件還可以是鍵盤操作事件等可以區分真實用戶與自動填寫程式所執行的表單操作的事件。
驗證單元403,用於接收到用戶端提交的加入所述表單隱藏域的表單後,驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配。
作為一個實施例,所述驗證單元驗證該表單隱藏域的數值與其產生的第二隨機參數是否相匹配一種可能的情況為:所述第一觸發單元具體是觸發用戶端將所述第二隨機參數作為驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值。因此,所述驗證單元具體是驗證表單隱藏域的數值與第二隨機參數是否相匹配具體是驗證表單隱藏域的數值與第二隨機參數是否相同,如果相同,則驗證通過,表明當前提交的表單為真實用戶所填寫的表單,如果不相
同,表明當前提交的表單可能為惡意的自動填寫程式所填寫,驗證不通過。
作為另一個實施例,為了避免資訊傳遞過程中被惡意截取識別,所述裝置還可以包括:加密回饋單元,用於將所述第二隨機參數藉由預定義演算法進行加密產生驗證字元,並向用戶端回饋加密資訊,以便於所述用戶端根據所述預定義演算法和所述第二隨機參數產生所述驗證字元。
則所述驗證單元具體用於驗證所述第一隨機參數對應的表單隱藏域的數值與所述根據所述第二隨機參數產生的驗證字元是否相同。
所述預定義的演算法可以採用MD5等常用的加密演算法,較佳地可以採用自定義的其他加密演算法。用戶端接收到加密資訊後,可以根據相同的預定義演算法將第二隨機參數進行加密以產生相同的驗證字元。所述用戶端採用的預定義演算法可以是用戶端預先編譯並保存的,在接收到加密資訊後,可對應查找加密資訊對應的預定義演算法;還可以是在接收到加密資訊,根據所述加密資訊產生的預定義演算法,當伺服器採用的預定義演算法為藉由伺服器執行的腳本語言自定義的預定義演算法時,則所述加密資訊是用於觸發用戶端產生藉由用戶端執行的腳本語言,例如Javascript,自定義的所述預定義演算法,其中,在程式設計過程中,所述的加密資訊可以是相應的執行代碼,用戶端執行所述執行代碼即會產生預定義演算
法,並利用所述預定義演算法將第二隨機參數進行加密以產生相同的驗證字元。
所述根據第二隨機參數產生驗證字元的過程可以具體是將第二隨機參數以及站點密鑰、時間戳等資訊,藉由所述預定義演算法來產生驗證字元,以增加驗證字元的複雜度,使得不容易被破解。
在本實施例中,產生單元接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數,由第一觸發單元觸發用戶端將產生的以第一隨機參數為名稱的隱藏域加入到表單中,並將根據所述第二隨機參數確定的驗證字元賦值給所述隱藏域,作為隱藏域的數值。當用戶端提交所述表單至伺服器時,驗證單元確定出對應第一隨機參數的隱藏域,然後再驗證該隱藏域的數值與第二隨機參數是否相匹配,從而實現表單的驗證,由於每次產生表單時,表單隱藏域的名稱以及數值都是變化的,自動填寫程式由於無法獲知隱藏功能變數名稱,因此也就不能獲知隱藏域的數值,無法成功自動填寫表單。當確定出隱藏域的數值與第二隨機參數不匹配時,就不會對該表單進行處理,從而實現了表單的有效驗證。
本實施例所述的裝置可以整合到用於表單伺服器上,也可以單獨作為一個實體與表單伺服器相連,另外,需要說明的是,當本發明所述的方法採用軟體實現時,可以作為表單伺服器新增的一個功能,也可以單獨編寫相應的程式,本發明不限定所述方法或裝置的實現方式。所述的表
單伺服器具體可以是web伺服器。
參見圖5,示出了本發明一種表單驗證裝置實施例2的結構示意圖,該裝置可以包括:
產生單元501:用於接收到用戶端的請求消息後,產生第一隨機參數、第二隨機參數和第三隨機參數。
第二觸發單元502:用於將攜帶所述第三隨機參數的第二觸發資訊發送給用戶端,以觸發所述用戶端將所述第三隨機參數作為表單隱藏域產生函數的函數名。
具體的,所述第三觸發單元還用於觸發所述用戶端將所述表單隱藏域產生函數進行混淆處理,使得可以保護函數程式。
所述第三隨機參數可以是伺服器產生的隨機字元,較佳地,還可以是產生單元將產生的隨機字元藉由加密演算法進行加密後形成的。
第一觸發單元503:用於將攜帶所述第一隨機參數、所述第二隨機參數的第一觸發資訊發送給所述用戶端,觸發所述用戶端將藉由調用以所述第三隨機參數命名的表單隱藏域產生函數,產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中。
其中,所述第一觸發單元發送的第一觸發資訊中還可以包括定義的變數,則所述第一觸發單元具體用於觸發用戶端將藉由調用以所述第三隨機參數命名的表單隱藏域產生函數,產生的以所述第一隨機參數為名稱,以變數為臨時數值的表單隱藏域加入到表單中,並將根據所述第二隨
機參數確定出的驗證字元賦值給所述變數。
藉由將變數作為臨時數值,即便自動填寫程式可以獲取該表單隱藏域,但是無法得到該表單隱藏域的實際數值,從而增加了安全性。
第三觸發單元504:向所述用戶端發送隨機隱藏域觸發資訊,以觸發所述用戶端將產生的多個以隨機字元為名稱的隨機隱藏域加入到表單中。
所述第三觸發單元觸發用戶端產生的隨機隱藏域,實現了對表單隱藏域的混淆作用,使得即便自動填寫程式可以獲取到隱藏域,也無法確定出哪一個是作為表單驗證用的表單隱藏域,從而無法確定隱藏域的名稱和數值,不能實現表單的成功填寫。
驗證單元505:用於接收到用戶端提交的加入所述表單隱藏域以及隨機隱藏域的表單後,驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配。
由於用戶端提交的表單中包含表單隱藏域和隨機隱藏域,因此驗證單元根據隱藏域的名稱確定出所述第一隨機參數對應的隱藏域,即所述表單隱藏域,從而可對所述表單隱藏域進行驗證。
在本實施例中,產生單元產生第一隨機參數,第二隨機參數以及第三隨機參數,第二觸發單元觸發用戶端將所述第三隨機參數作為表單隱藏域的產生函數的函數名,第一觸發單元觸發用戶端調用所述以第三隨機參數為函數名
的產生函數產生以第一隨機參數為名稱,以伺服器定義的變數為臨時數值的表單隱藏域加入到表單中,並將根據第二隨機參數確定的驗證字元賦值給所述變數。同時第三觸發單元觸發用戶端產生多個以隨機字元為名稱的隨機隱藏域,實現對表單隱藏域的混淆作用。藉由本實施例進一步避免了表單隱藏域被截獲而被惡意利用的風險,從而可以實現表單的有效驗證,能夠有效判斷出表單填寫者是否為真實的用戶,從而可以避免惡意論壇灌水、暴力破解密碼、發佈垃圾資訊等操作。
與上述本發明一種表單驗證方法和裝置實施例相對應,本發明還提供了一種表單驗證系統的實施例,在本實施例中,該系統具體可以包括用戶端和伺服器,
所述用戶端,用於向所述伺服器發送請求消息;根據所述伺服器發送的攜帶第一隨機參數和所述第二隨機參數的第一觸發資訊,將產生的以所述第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據所述第二隨機參數確定出的驗證字元賦值給所述表單隱藏域,作為表單隱藏域的數值;提交所述加入表單隱藏域的表單至所述伺服器;
所述伺服器,用於接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數;將攜帶所述第一隨機參數和所述第二隨機參數的第一觸發資訊發送給所述用戶端,接收到用戶端提交的加入所述表單隱藏域的表單後,驗證所述第一隨機參數對應的表單隱藏域的數值與所述第二隨機參數是否相匹配。
藉由本實施例所述的伺服器和用戶端,可以有效實現表單的驗證,從而可以避免惡意論壇灌水、暴力破解密碼、發佈垃圾資訊等操作。伺服器在驗證出表單隱藏域的數值與第二隨機參數不匹配時,即該表單驗證不通過時,伺服器即不會對該表單進行處理,因此可以減少伺服器的操作步驟,可以提高伺服器的處理性能。
需要說明的是,本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對於裝置類實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
為了描述的方便,描述以上裝置時以功能分為各種單
元分別描述。當然,在實施本發明時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
藉由以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本發明可借助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品可以儲存在儲存媒體中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。
以上對本發明所提供的一種檢索方法、裝置及系統進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
401‧‧‧產生單元
402‧‧‧第一觸發單元
403‧‧‧驗證單元
501‧‧‧產生單元
502‧‧‧第二觸發單元
503‧‧‧第一觸發單元
504‧‧‧第三觸發單元
505‧‧‧驗證單元
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的
前提下,還可以根據這些圖式獲得其他的圖式。
圖1是本發明的一種表單驗證方法實施例1的流程圖;圖2是本發明中一種表單驗證方法實施例2的流程圖;圖3是本發明中一種表單驗證方法實施例3的流程圖;圖4是本發明中一種表單驗證裝置實施例1的結構示意圖;圖5是本發明中一種表單驗證裝置實施例2的結構示意圖。
Claims (13)
- 一種表單驗證方法,其特徵在於,包括:接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數;將攜帶該第一隨機參數和該第二隨機參數的第一觸發資訊發送給該用戶端,以觸發該用戶端將產生的以該第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據該第二隨機參數確定出的驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值;接收到用戶端提交的加入該表單隱藏域的表單後,驗證該第一隨機參數對應的表單隱藏域的數值與該第二隨機參數是否相匹配,其中,該第一觸發資訊還包含定義的變數,則該觸發該用戶端將產生的以該第一隨機參數為名稱的表單隱藏域加入到表單中,將根據該第二隨機參數確定出的驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值,具體為:觸發該用戶端將產生的以該第一隨機參數為名稱,以變數為臨時數值的表單隱藏域加入到表單中,並將根據該第二隨機參數確定出的驗證字元賦值給該變數。
- 根據申請專利範圍第1項的方法,其中,該觸發該用戶端將根據該第二隨機參數確定出的驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值具體為:觸發該用戶端將該第二隨機參數作為驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值; 則該驗證該第一隨機參數對應的表單隱藏域的數值與該第二隨機參數是否相匹配具體為:驗證該第一隨機參數對應的表單隱藏域的數值與該第二隨機參數是否相同。
- 根據申請專利範圍第1項的方法,其中,該產生該第二隨機參數後,該方法還包括:將該第二隨機參數藉由預定義演算法進行加密產生驗證字元,並向用戶端回饋加密資訊,以便於該用戶端根據該預定義演算法和該第二隨機參數產生該驗證字元;則該驗證該第一隨機參數對應的表單隱藏域的數值與該第二隨機參數是否相匹配具體為:驗證該第一隨機參數對應的表單隱藏域的數值與該根據該第二隨機參數產生的驗證字元是否相同。
- 根據申請專利範圍第1項的方法,其中,該方法還包括:產生第三隨機參數,並將攜帶該第三隨機參數的第二觸發資訊發送給用戶端,以觸發該用戶端將該第三隨機參數作為表單隱藏域產生函數的函數名;則該觸發該用戶端將產生的以該第一隨機參數為名稱的表單隱藏域加入到表單中具體為:觸發該用戶端將調用以該第三隨機參數命名的表單隱藏域產生函數,產生的以該第一隨機參數為名稱的表單隱藏域加入到表單中。
- 根據申請專利範圍第4項的方法,其中,該觸發該 用戶端將該第三隨機參數作為表單隱藏域產生函數的函數名具體為:觸發該用戶端將該第三隨機參數作為表單隱藏域產生函數的函數名,並將該表單隱藏域產生函數進行混淆處理。
- 根據申請專利範圍第1項的方法,其中,該將攜帶該第一隨機參數和該第二隨機參數的第一觸發資訊發送給該用戶端的同時,該方法還包括:向該用戶端發送隨機隱藏域觸發資訊,以觸發該用戶端將產生的多個以隨機字元為名稱的隨機隱藏域加入到表單中。
- 根據申請專利範圍第1項的方法,其中,該觸發該用戶端將根據該第二隨機參數確定出的驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值具體為:觸發該用戶端在檢測到有賦值事件時,將根據該第二隨機參數確定出的驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值。
- 根據申請專利範圍第1項的方法,其中,該產生第一隨機參數和第二隨機參數具體是:將隨機產生的兩個字元分別進行加密後,形成第一隨機參數和第二隨機參數。
- 一種表單驗證裝置,其特徵在於,包括:產生單元,用於接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數; 第一觸發單元,用於將攜帶該第一隨機參數和該第二隨機參數的第一觸發資訊發送給該用戶端,觸發該用戶端將產生的以該第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據該第二隨機參數確定出的驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值;驗證單元,用於接收到用戶端提交的加入該表單隱藏域的表單後,驗證該第一隨機參數對應的表單隱藏域的數值與該第二隨機參數是否相匹配,其中,該第一觸發資訊還包含定義的變數,則該第一觸發單元具體用於觸發該用戶端將產生的以該第一隨機參數為名稱,以變數為臨時數值的表單隱藏域加入到表單中,並將根據該第二隨機參數確定出的驗證字元賦值給該變數。
- 根據申請專利範圍第9項的裝置,其中,該第一觸發單元觸發該用戶端將根據該第二隨機參數確定出的驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值具體為:觸發該用戶端將該第二隨機參數作為驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值;則該驗證單元具體用於驗證該第一隨機參數對應的表單隱藏域的數值與該第二隨機參數是否相同。
- 根據申請專利範圍第9項的裝置,其中,還包括:加密回饋單元,用於將該第二隨機參數藉由預定義演算法進行加密產生驗證字元,並向用戶端回饋加密資訊, 以便於該用戶端根據該預定義演算法和該第二隨機參數產生該驗證字元;則該驗證單元具體用於驗證該第一隨機參數對應的表單隱藏域的數值與該根據該第二隨機參數產生的驗證字元是否相同。
- 根據申請專利範圍第9項的裝置,其中,該產生單元還用於產生第三隨機參數,則該裝置還包括:第二觸發單元,用於將攜帶該第三隨機參數的第二觸發資訊發送給用戶端,以觸發該用戶端將該第三隨機參數作為表單隱藏域產生函數的函數名;則該第一觸發單元具體用於觸發該用戶端將藉由調用以該第三隨機參數命名的表單隱藏域產生函數,產生的以該第一隨機參數為名稱的表單隱藏域加入到表單中。
- 一種表單驗證系統,其特徵在於,包括用戶端和伺服器,該用戶端,用於向該伺服器發送請求消息;根據該伺服器發送的攜帶第一隨機參數和第二隨機參數的第一觸發資訊,將產生的以該第一隨機參數為名稱的表單隱藏域加入到表單中,並將根據該第二隨機參數確定出的驗證字元賦值給該表單隱藏域,作為表單隱藏域的數值;提交該加入表單隱藏域的表單至該伺服器;該伺服器,用於接收到用戶端的請求消息後,產生第一隨機參數和第二隨機參數;將攜帶該第一隨機參數和該第二隨機參數的第一觸發資訊發送給該用戶端,接收到用 戶端提交的加入該表單隱藏域的表單後,驗證該第一隨機參數對應的表單隱藏域的數值與該第二隨機參數是否相匹配,其中,該第一觸發資訊還包含定義的變數,則該第一觸發單元具體用於觸發該用戶端將產生的以該第一隨機參數為名稱,以變數為臨時數值的表單隱藏域加入到表單中,並將根據該第二隨機參數確定出的驗證字元賦值給該變數。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210059741.8A CN103312664B (zh) | 2012-03-08 | 2012-03-08 | 表单验证方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201338497A TW201338497A (zh) | 2013-09-16 |
TWI587679B true TWI587679B (zh) | 2017-06-11 |
Family
ID=49115050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101121116A TWI587679B (zh) | 2012-03-08 | 2012-06-13 | Form validation methods, devices and systems |
Country Status (6)
Country | Link |
---|---|
US (2) | US9444910B2 (zh) |
EP (1) | EP2823431B1 (zh) |
JP (1) | JP5868529B2 (zh) |
CN (2) | CN107451472B (zh) |
TW (1) | TWI587679B (zh) |
WO (1) | WO2013134512A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501304B (zh) * | 2013-10-12 | 2017-01-25 | 深信服网络科技(深圳)有限公司 | 控制web系统越权访问的方法及装置 |
US9411958B2 (en) * | 2014-05-23 | 2016-08-09 | Shape Security, Inc. | Polymorphic treatment of data entered at clients |
CN104486342A (zh) * | 2014-12-19 | 2015-04-01 | 山东中创软件商用中间件股份有限公司 | 一种隐藏表单防护方法、装置、服务器和网购平台 |
US20160292143A1 (en) * | 2015-04-01 | 2016-10-06 | RTO Benefits, LLC | System and method for automated online wizard generation |
CN105592060B (zh) * | 2015-10-26 | 2018-11-09 | 新华三技术有限公司 | 一种密码生成方法及设备 |
CN106921645B (zh) * | 2016-06-28 | 2021-04-20 | 创新先进技术有限公司 | 信息发布方法、客户端及服务端 |
CN106161466A (zh) * | 2016-08-30 | 2016-11-23 | 迈普通信技术股份有限公司 | Web服务器及表单提交安全交互方法 |
US10063533B2 (en) * | 2016-11-28 | 2018-08-28 | International Business Machines Corporation | Protecting a web server against an unauthorized client application |
CN106657310B (zh) * | 2016-12-13 | 2020-04-07 | 北京锐安科技有限公司 | 表单的提交方法及装置 |
US10474674B2 (en) | 2017-01-31 | 2019-11-12 | Splunk Inc. | Using an inverted index in a pipelined search query to determine a set of event data that is further limited by filtering and/or processing of subsequent query pipestages |
US11379530B2 (en) | 2017-01-31 | 2022-07-05 | Splunk Inc. | Leveraging references values in inverted indexes to retrieve associated event records comprising raw machine data |
CN108804316A (zh) * | 2018-05-24 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种测试脚本程序标准化的检验方法及系统 |
CN111078206B (zh) * | 2019-11-25 | 2023-03-24 | 贝壳技术有限公司 | 表单提交方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100287132A1 (en) * | 2009-05-05 | 2010-11-11 | Paul A. Lipari | System, method and computer readable medium for recording authoring events with web page content |
US7934149B1 (en) * | 1999-09-30 | 2011-04-26 | Instantis, Inc. | Automated creation and maintenance of programs to process internet form related submissions |
US20110119155A1 (en) * | 2009-05-15 | 2011-05-19 | Ayman Hammad | Verification of portable consumer devices for 3-d secure services |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7284193B1 (en) * | 1998-12-31 | 2007-10-16 | Microsoft Corporation | Page object model |
JP2002073551A (ja) | 2000-08-26 | 2002-03-12 | Sekiya Yamashita | フレームを利用したインターネット情報保管システム |
US20020178187A1 (en) * | 2000-12-20 | 2002-11-28 | Rasmussen Brett D. | Electronically signed HTML forms |
US6874120B2 (en) | 2001-04-05 | 2005-03-29 | International Business Machines Corporation | Method, system, and product for efficient retrieval of information related to data input into a data entry form from the data entry form |
JP2004334859A (ja) | 2003-04-14 | 2004-11-25 | Matsushita Electric Ind Co Ltd | 異なる複数のオペレータによって使用される情報処理装置、その方法、及びプログラム |
JP2007272574A (ja) | 2006-03-31 | 2007-10-18 | Nec Corp | 掲示板システムおよびその不正投稿防止方法 |
US9130974B2 (en) * | 2007-04-18 | 2015-09-08 | Mcafee, Inc. | System and method for limiting spyware activity |
CN101431413B (zh) * | 2007-11-08 | 2012-04-25 | 华为技术有限公司 | 进行认证的方法、系统、服务器及终端 |
CN101431410B (zh) * | 2007-11-09 | 2011-11-30 | 康佳集团股份有限公司 | 一种网络游戏客户端与服务器集群的认证方法 |
US8219687B2 (en) | 2008-01-04 | 2012-07-10 | International Business Machines Corporation | Implementing browser based hypertext transfer protocol session storage |
WO2009102114A2 (en) * | 2008-02-11 | 2009-08-20 | Lg Electronics Inc. | Terminal and method for identifying contents |
US8340370B2 (en) * | 2008-02-19 | 2012-12-25 | Nec Corporation | Pattern verification apparatus, pattern verification method, and program |
CN101482820A (zh) * | 2009-02-13 | 2009-07-15 | 山东浪潮齐鲁软件产业股份有限公司 | 一种防止页面重复提交的方法 |
US9507870B2 (en) * | 2009-05-05 | 2016-11-29 | Suboti, Llc | System, method and computer readable medium for binding authored content to the events used to generate the content |
US9105027B2 (en) | 2009-05-15 | 2015-08-11 | Visa International Service Association | Verification of portable consumer device for secure services |
US20100318889A1 (en) * | 2009-06-12 | 2010-12-16 | Microsoft Corporation | Automatic Insertion of Data from Web Forms into Documents |
CN101924734A (zh) * | 2009-06-15 | 2010-12-22 | 北京华智大为科技有限公司 | 一种基于Web表单的身份认证方法及认证装置 |
US20100328074A1 (en) * | 2009-06-30 | 2010-12-30 | Johnson Erik J | Human presence detection techniques |
US8539224B2 (en) * | 2009-11-05 | 2013-09-17 | International Business Machines Corporation | Obscuring form data through obfuscation |
CN102238150A (zh) * | 2010-05-06 | 2011-11-09 | 阿里巴巴集团控股有限公司 | 表单注册方法及服务器 |
US9021586B2 (en) * | 2010-07-20 | 2015-04-28 | At&T Intellectual Property I, L.P. | Apparatus and methods for preventing cross-site request forgery |
US9401807B2 (en) * | 2011-02-03 | 2016-07-26 | Hewlett Packard Enterprise Development Lp | Processing non-editable fields in web pages |
-
2012
- 2012-03-08 CN CN201710218281.1A patent/CN107451472B/zh active Active
- 2012-03-08 CN CN201210059741.8A patent/CN103312664B/zh not_active Expired - Fee Related
- 2012-06-13 TW TW101121116A patent/TWI587679B/zh not_active IP Right Cessation
-
2013
- 2013-03-06 US US13/787,259 patent/US9444910B2/en active Active
- 2013-03-07 WO PCT/US2013/029631 patent/WO2013134512A1/en active Application Filing
- 2013-03-07 JP JP2014561112A patent/JP5868529B2/ja active Active
- 2013-03-07 EP EP13711220.7A patent/EP2823431B1/en active Active
-
2016
- 2016-08-10 US US15/233,672 patent/US10122830B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7934149B1 (en) * | 1999-09-30 | 2011-04-26 | Instantis, Inc. | Automated creation and maintenance of programs to process internet form related submissions |
US20100287132A1 (en) * | 2009-05-05 | 2010-11-11 | Paul A. Lipari | System, method and computer readable medium for recording authoring events with web page content |
US20110119155A1 (en) * | 2009-05-15 | 2011-05-19 | Ayman Hammad | Verification of portable consumer devices for 3-d secure services |
Also Published As
Publication number | Publication date |
---|---|
CN107451472B (zh) | 2021-06-04 |
CN107451472A (zh) | 2017-12-08 |
CN103312664B (zh) | 2017-06-09 |
JP5868529B2 (ja) | 2016-02-24 |
US20130238691A1 (en) | 2013-09-12 |
TW201338497A (zh) | 2013-09-16 |
CN103312664A (zh) | 2013-09-18 |
WO2013134512A1 (en) | 2013-09-12 |
JP2015511038A (ja) | 2015-04-13 |
US9444910B2 (en) | 2016-09-13 |
US10122830B2 (en) | 2018-11-06 |
EP2823431A1 (en) | 2015-01-14 |
US20170034314A1 (en) | 2017-02-02 |
EP2823431B1 (en) | 2019-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI587679B (zh) | Form validation methods, devices and systems | |
US11854003B2 (en) | Signature verification method, apparatus, and system | |
US10657243B2 (en) | Variation analysis-based public turing test to tell computers and humans apart | |
CN103020687B (zh) | 二维码分享方法和系统 | |
CN108809988A (zh) | 一种请求的认证方法及系统 | |
CN103227786B (zh) | 一种网站登录信息填入方法及装置 | |
CN111917773A (zh) | 业务数据处理方法、装置和服务器 | |
JP2018534869A (ja) | アクセスデータ改ざん防止方法、携帯端末、装置及び読み取り可能な記憶媒体 | |
WO2019095856A1 (zh) | 一种网络身份认证方法、系统及其使用的用户代理设备 | |
TW201405459A (zh) | 登錄驗證方法、客戶端、伺服器及系統 | |
CN105516208A (zh) | 一种有效防止网络攻击的web网站链接动态隐藏方法及装置 | |
US12041045B2 (en) | Passing authentication information via parameters | |
US20180039771A1 (en) | Method of and server for authorizing execution of an application on an electronic device | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
CN111193691B (zh) | 授权方法、系统和相关设备 | |
CN111400027A (zh) | 一种分布式任务处理方法、装置及系统 | |
CN104601532A (zh) | 一种登录账户的方法及装置 | |
CN107294920B (zh) | 一种反向信任登录方法和装置 | |
AU2015231830A1 (en) | Persistent bookmarklet authorization | |
CN103621008B (zh) | 身份认证方法及装置 | |
CN102760217A (zh) | 一种下一代数据保护系统的用户登录方法 | |
KR20160126823A (ko) | 웹서버에 비정상적인 접근 방지 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |