[發明專利]驗證碼處理方法和裝置有效
| 申請號: | 201410441617.7 | 申請日: | 2014-09-01 |
| 公開(公告)號: | CN104200150B | 公開(公告)日: | 2017-01-18 |
| 發明(設計)人: | 朱琦 | 申請(專利權)人: | 湖北盛天網絡技術股份有限公司 |
| 主分類號: | G06F21/36 | 分類號: | G06F21/36 |
| 代理公司: | 北京德琦知識產權代理有限公司11018 | 代理人: | 張曉峰,宋志強 |
| 地址: | 430200 湖北省武漢市東湖新*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 驗證 處理 方法 裝置 | ||
技術領域
本申請涉及計算機和互聯網數據處理技術領域,尤其涉及一種驗證碼處理方法和裝置。
背景技術
在計算機和互聯網數據處理技術領域,驗證碼是一種區分用戶是機器人程序還是人的公共全自動程序。驗證碼通常使用一些線條和一些不規則的字符組成,用戶必須讀取這些字符,然后輸入這些字符才能成功登陸網站。因為人可以很容易讀出圖片中的字符,但如果是一段客戶端攻擊程序(即機器人程序),通過一般手段是很難識別所述驗證碼的。
驗證碼的作用可以防止:惡意破解密碼、刷票、論壇灌水,有效防止某個黑客對某一個特定注冊用戶用特定程序暴力破解方式進行不斷的登陸嘗試,實際上用驗證碼是現在很多網站通行的登錄方式。
但是,目前的驗證碼技術只是隨機生成一張還有隨機字符串的圖片,現在也出現了一些更加智能的可以識別圖片內容的機器人程序,這種機器人程序具有存儲有大量字符圖片的數據庫,在進行惡意攻擊時,這種機器人程序可以對驗證碼圖片中的每一個字符進行摳圖,然后利用該字符摳圖與數據庫中的字符圖片進行比對分析,找到與字符摳圖相似度最高的字符圖片,將該字符圖片對應的字符作為識別出的字符,從而自動識別破譯出驗證碼圖片中的字符串。
現有技術的驗證碼技術在面對上述機器人程序時,驗證碼很容易被機器人破譯,安全性較低,導致惡意攻擊方利用機器人對互聯網應用進行大量重復的操作,導致各類互聯網應用重則癱瘓,輕則損失各類虛擬資源,讓服務提供企業和正常用戶的利益飽受侵害。
發明內容
有鑒于此,本發明的主要目的是提供一種驗證碼處理方法和裝置,可以提高機器人識別驗證碼的難度,提高驗證碼的安全性。
本發明的技術方案是這樣實現的:
一種驗證碼處理方法,包括:
隨機生成兩組驗證碼,一組作為真實驗證碼,另一組作為干擾驗證碼;
生成驗證碼圖片,其中包括真實驗證碼和干擾驗證碼,所述驗證碼圖片中除驗證碼外的背景為透明背景;
獲取驗證碼背景圖片,對所述真實驗證碼和驗證碼背景圖片進行相同的鏤空處理,將所述驗證碼圖片置于所述驗證碼背景圖片之上進行合并得到合并圖片,其中所述真實驗證碼的鏤空位置與所述驗證碼背景圖片的鏤空位置重合;
將所述合并圖片顯示在頁面背景上,且頁面背景顏色與所述真實驗證碼的顏色一致;在頁面背景上顯示可視區域,該可視區域的顏色與真實驗證碼的顏色不一致;
監測對所述合并圖片的移動指令,根據移動指令將所述合并圖片移動到所述可視區域之上。
在一種優選實施例中,所述移動指令為對合并圖片的拖拽指令。
在一種優選實施例中,所述生成驗證碼圖片,具體包括:為所述每一組驗證碼對應生成一張驗證碼圖片,所述驗證碼圖片中除驗證碼外的背景為透明背景。
在一種優選實施例中,所述隨機生成兩組驗證碼,具體包括:
利用預定密鑰生成密文;
根據當前用戶的訪問特征信息確定該當前用戶對應的難度等級;
根據所確定的難度等級,從所述密文中隨機獲取兩組字符串作為驗證碼,其中難度等級越高,驗證碼的字符串越復雜。
在一種優選實施例中,所述利用密鑰生成密文,具體包括:獲取當前用戶的IP地址和瀏覽器類型,將所述IP地址、瀏覽器類型和所述預定密鑰組合成字符串,再經加密算法進行不可逆加密,生成一串密文。
在一種優選實施例中,所述根據當前用戶的訪問特征信息確定該當前用戶對應的難度等級,具體包括:
獲取當前用戶的IP地址和或瀏覽器類型;
根據預定的不同難度等級對應的IP地址范圍、瀏覽器類型、和或相同IP地址的請求間隔,判斷當前用戶的IP地址和或瀏覽器類型所對應的難度等級;
將該難度等級確定為該當前用戶對應的難度等級。
在一種優選實施例中,在所述生成驗證碼圖片之后,對所述驗證碼圖片進行鏤空處理之前,進一步包括:對所述驗證碼圖片中的驗證碼進行扭曲效果處理。
在一種優選實施例中,所述對所述驗證碼圖片中的驗證碼進行扭曲效果處理,具體包括:
創建一個與驗證碼圖片的尺寸相同的新畫布,把原驗證碼圖片按逐個像素的方式把每個像素都復制到該畫布上,在該新畫布上的像素點位置通過正玄函數f(x)=sin(a*2π*y/height)對像素點的y軸坐標進行處理,公式中f(x)為新畫布上的像素點的y軸坐標,y為原驗證碼圖片的相同像素點的y軸坐標,height為原驗證碼圖片的高度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖北盛天網絡技術股份有限公司,未經湖北盛天網絡技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410441617.7/2.html,轉載請聲明來源鉆瓜專利網。





