一種驗(yàn)證碼生成系統(tǒng)及方法
【專利摘要】本發(fā)明公開(kāi)了一種用于網(wǎng)絡(luò)安全的驗(yàn)證碼生成系統(tǒng)及方法,通過(guò)將驗(yàn)證碼生成系統(tǒng)中的圖片、干擾元素與字符內(nèi)容組件化,并且在每個(gè)組件中添加上下文信息,解決了現(xiàn)有驗(yàn)證碼圖片亦遭破解的缺陷。驗(yàn)證碼生成系統(tǒng)及方法根據(jù)一渲染風(fēng)格配置信息建立多個(gè)上下文,各個(gè)上下文對(duì)應(yīng)一種驗(yàn)證碼圖片風(fēng)格配置,根據(jù)預(yù)設(shè)演算規(guī)則設(shè)定上下文執(zhí)行順序,并根據(jù)所述上下文執(zhí)行順序繪制圖片驗(yàn)證碼。應(yīng)用本發(fā)明提出驗(yàn)證碼生成系統(tǒng)及方法增強(qiáng)圖片驗(yàn)證碼被破解的難度,提高網(wǎng)絡(luò)安全。
【專利說(shuō)明】一種驗(yàn)證碼生成系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)屬于網(wǎng)絡(luò)應(yīng)用領(lǐng)域,具體地說(shuō),涉及一種用于網(wǎng)絡(luò)安全的驗(yàn)證碼生成系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著計(jì)算器與網(wǎng)絡(luò)的日益普及,互聯(lián)網(wǎng)已經(jīng)深入至人們生活的各個(gè)角落,網(wǎng)絡(luò)發(fā)展除了帶來(lái)廣大的便利性同時(shí)也帶來(lái)各種挑戰(zhàn)。一些惡意的使用者會(huì)利用機(jī)器人程序大量不當(dāng)使用網(wǎng)絡(luò)資源,例如群發(fā)垃圾郵件或以”飽和攻擊”不斷發(fā)出服務(wù)請(qǐng)求等手段,來(lái)降低服務(wù)器的效能。因此,為了避免上述惡意行為,服務(wù)器往往會(huì)搭配自動(dòng)分辨善意或惡意使用者的程序工具,試圖降低被惡意使用的風(fēng)險(xiǎn)。
[0003]圖片驗(yàn)證碼便是一種用于分便網(wǎng)絡(luò)服務(wù)使用者是善意使用或惡意使用的一種程序工具。圖片驗(yàn)證碼是一幅含有字符的圖片,會(huì)要求使用者回答圖片上所顯示的字符,只要正確回答辯會(huì)認(rèn)為是善意使用,以供服務(wù)使用者執(zhí)行相對(duì)應(yīng)的后續(xù)操作。
[0004]現(xiàn)有的驗(yàn)證碼生成系統(tǒng),一般預(yù)先生成包含大量驗(yàn)證碼圖片的驗(yàn)證庫(kù),每一次的提交驗(yàn)證請(qǐng)求,系統(tǒng)將隨機(jī)自驗(yàn)證庫(kù)選取一張驗(yàn)證碼圖片。然而,常見(jiàn)驗(yàn)證碼圖片模式單一,僅是單一字符和單調(diào)的素色背景,即便存有相關(guān)防破解措施,例如背景的添加,干擾線的添加,但過(guò)多且設(shè)計(jì)不當(dāng)?shù)母蓴_造成了用戶體驗(yàn)的下降。
[0005]此外,驗(yàn)證碼的組成形式不可調(diào)整或調(diào)整不靈活,導(dǎo)致在遭到惡意行為后不能及時(shí)采取及時(shí)和有效的措施,隨著上線時(shí)間的增加,仍很容易遭到破解,這就給網(wǎng)絡(luò)安全帶來(lái)了危機(jī)與缺陷。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本申請(qǐng)所要解決的技術(shù)問(wèn)題是提供了用于網(wǎng)絡(luò)安全的驗(yàn)證碼生成系統(tǒng)及方法,通過(guò)將驗(yàn)證碼生成系統(tǒng)中的圖片、干擾元素與字符內(nèi)容組件化,并且在每個(gè)組件中添加上下文信息,解決了現(xiàn)有驗(yàn)證碼圖片亦遭破解的缺陷。
[0007]為了解決上述技術(shù)問(wèn)題,本申請(qǐng)公開(kāi)了一種驗(yàn)證碼生成系統(tǒng),以增強(qiáng)圖片驗(yàn)證碼被破解的難度,提高網(wǎng)絡(luò)安全。驗(yàn)證碼生成系統(tǒng)包括上下文生成組件(Sharp contextgenerating module)、隨機(jī)字符生成組件(Ramdon wordgenerating module)、背景生成組件(Background generating module)、字體注冊(cè)組件(Font registing module)、字符建立組件(Letter paint module)、背景標(biāo)志生成組件(logo paint module)與干擾生成組件(noise paint module)。上下文生成組件根據(jù)渲染風(fēng)格配置文件建立多個(gè)對(duì)應(yīng)所述各組件的上下文。隨機(jī)字符生成組件根據(jù)所述上下文自一字符庫(kù)隨機(jī)建立字符,所述字符庫(kù)包括以下一個(gè)或多個(gè)的組合:至少一英文字母、至少一阿拉伯?dāng)?shù)字與至少一符號(hào)。背景生成組件根據(jù)所述上下文建立背景圖式,并根據(jù)所述渲染風(fēng)格配置文件指定背景圖式的大小。字體注冊(cè)組件根據(jù)所述上下文定義所數(shù)字符的字體。字符建立組件通過(guò)所述字體注冊(cè)組件所定義的字體,根據(jù)所述上下文將所述字符依所述字體繪制。背景標(biāo)志生成組件根據(jù)所述渲染風(fēng)格配置文件選取標(biāo)志,并根據(jù)所述上下文將所述標(biāo)志繪制。干擾生成組件根據(jù)所述渲染風(fēng)格配置文件選取干擾,并根據(jù)所述上下文將干擾繪制。
[0008]本申請(qǐng)還公開(kāi)了一種驗(yàn)證碼生成方法,以增強(qiáng)圖片驗(yàn)證碼被破解的難度,提高網(wǎng)絡(luò)安全。驗(yàn)證碼生成方法應(yīng)用于網(wǎng)絡(luò)服務(wù)器中的驗(yàn)證碼生成系統(tǒng),該方法包括:根據(jù)渲染風(fēng)格配置信息建立多個(gè)上下文,各個(gè)上下文對(duì)應(yīng)一種驗(yàn)證碼圖片風(fēng)格配置,其中所述渲染風(fēng)格配置信息系由用戶設(shè)定或網(wǎng)絡(luò)服務(wù)器預(yù)設(shè);根據(jù)預(yù)設(shè)演算規(guī)則設(shè)定上下文執(zhí)行順序,并根據(jù)所述上下文執(zhí)行順序執(zhí)行所述上下文繪制圖片驗(yàn)證碼。
[0009]本申請(qǐng)又公開(kāi)了一種驗(yàn)證碼生成方法,對(duì)一張已經(jīng)存在的圖片驗(yàn)證碼,進(jìn)行再加工以增強(qiáng)圖片驗(yàn)證碼被破解的難度。驗(yàn)證碼生成方法包括步驟:取得圖片驗(yàn)證碼與渲染風(fēng)格配置信息,其中所述渲染風(fēng)格配置信息系由用戶設(shè)定或網(wǎng)絡(luò)服務(wù)器預(yù)設(shè);根據(jù)所述圖片驗(yàn)證碼生成原生上下文(original sharpcontext);根據(jù)所述渲染風(fēng)格配置信息分析所述原生上下文建立需要的上下文;根據(jù)所述上下文與所述原生上下文重繪新的圖片驗(yàn)證碼。
[0010]與現(xiàn)有的方案相比,本申請(qǐng)所獲得的技術(shù)效果:
[0011]I)驗(yàn)證碼的渲染流程過(guò)程中更加靈活,可以根據(jù)環(huán)境,需求采用不同的渲染策略,因地制宜。
[0012]2)驗(yàn)證碼也可以隨時(shí)根據(jù)需要對(duì)組件的組合和順序進(jìn)行有機(jī)動(dòng)態(tài)的調(diào)整,因而表現(xiàn)出的防止惡意行為能力更加強(qiáng)。
[0013]3)由于所有的組件都是根據(jù)相應(yīng)的上下文來(lái)調(diào)整策略,而且在策略的選取上尤其重視用戶的體驗(yàn),因而該系統(tǒng)所渲染的驗(yàn)證碼的用戶體驗(yàn)佳。
[0014]4)染過(guò)程不僅可以采取用戶的設(shè)定的渲染策略,還可以依照當(dāng)前階段圖片的信息上下文來(lái)自動(dòng)選取渲染策略,支持創(chuàng)建并渲染,還支持已存在的圖片的渲染加工。
[0015]當(dāng)然,實(shí)施本申請(qǐng)的任一產(chǎn)品必不一定需要同時(shí)達(dá)到以上所述的所有技術(shù)效果。
【專利附圖】
【附圖說(shuō)明】
[0016]此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
[0017]圖1是本申請(qǐng)實(shí)施例的驗(yàn)證碼生成系統(tǒng)的示意圖;
[0018]圖2是本申請(qǐng)實(shí)施例的驗(yàn)證碼生成方法的流程圖;
[0019]圖3是本申請(qǐng)實(shí)施例根據(jù)圖2的驗(yàn)證碼生成方法中步驟S32的子步驟流程圖;
[0020]圖4是本申請(qǐng)根據(jù)另一實(shí)施例的驗(yàn)證碼生成方法的流程圖;
[0021]圖5是本申請(qǐng)根據(jù)又一實(shí)施例的驗(yàn)證碼生成方法的流程圖。
【具體實(shí)施方式】
[0022]以下將配合圖式及實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)的實(shí)施方式,藉此對(duì)本申請(qǐng)如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題并達(dá)成技術(shù)功效的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。
[0023]在本申請(qǐng)實(shí)施例中,通過(guò)將驗(yàn)證碼生成系統(tǒng)中的圖片、干擾元素與字符內(nèi)容組件化,并且在每個(gè)組件中添加上下文信息,解決了現(xiàn)有驗(yàn)證碼圖片亦遭破解的缺陷。
[0024]圖1為根據(jù)本申請(qǐng)實(shí)施例的驗(yàn)證碼生成系統(tǒng)的示意圖。如圖1所示,該生成系統(tǒng)包括上下文生成組件10、隨機(jī)字符生成組件12、背景生成組件14、字體注冊(cè)組件16、字符建立組件18、背景標(biāo)志生成組件20、干擾生成組件22與檢核組件28。
[0025]上下文生成組件10根據(jù)渲染風(fēng)格配置文件24建立多個(gè)對(duì)應(yīng)所述各組件的上下文。渲染風(fēng)格配置文件24是由渲染風(fēng)格配置信息所組成,渲染風(fēng)格配置信息包含各個(gè)組件執(zhí)行使用的參數(shù),時(shí)間,步驟,狀態(tài)等,渲染風(fēng)格配置信息可由用戶通過(guò)使用者接口(userinterface)進(jìn)行個(gè)人化設(shè)定,或是由驗(yàn)證碼生成系統(tǒng)預(yù)設(shè)。
[0026]上下文生成組件10在建立各組件的上下文時(shí),會(huì)根據(jù)渲染風(fēng)格配置信息決定當(dāng)下繪制圖片驗(yàn)證碼所需的組件,以下所稱的上下文即為對(duì)應(yīng)該組件的上下文,不另外進(jìn)行再說(shuō)明。
[0027]隨機(jī)字符生成組件12根據(jù)所述上下文自字符庫(kù)26隨機(jī)建立字符,所述字符庫(kù)26包括以下一個(gè)或多個(gè)的組合:至少一英文字母、至少一阿拉伯?dāng)?shù)字與至少一符號(hào)。具體地,英文字母可為A,B, C,.........X,y,z等52個(gè)大小寫(xiě)的組合,阿拉伯?dāng)?shù)字為O至9的組合。
[0028]背景生成組件14根據(jù)所述上下文建立背景圖式,并根據(jù)所述渲染風(fēng)格配置文件24指定背景圖式的大小。當(dāng)沒(méi)有指定背景圖式大小時(shí),則使用生成系統(tǒng)預(yù)設(shè)的背景圖式大小。
[0029]字體注冊(cè)組件16根據(jù)所述上下文定義字體。當(dāng)沒(méi)有定義字體時(shí),則使用驗(yàn)證碼生成系統(tǒng)預(yù)設(shè)的字體。
[0030]字符建立組件18通過(guò)所述字體注冊(cè)組件16所定義的字體,根據(jù)所述上下文將所述字符依所述字體繪在所述背景圖式上。字符建立組件18于繪制時(shí)可對(duì)字符進(jìn)行變形,包括剛性變化(比如旋轉(zhuǎn)或平移)和/或非線性變化(比如膨脹或扭曲),相同的變形效果對(duì)于不同的字體會(huì)有不一樣的驗(yàn)證碼效果,同樣,相同字體而不一樣的變形效果也有不一樣的驗(yàn)證碼效果。這一切取之于上下文生成組件10根據(jù)渲染風(fēng)格配置信息與所生成的上下文來(lái)決定。
[0031]背景標(biāo)志生成組件20根據(jù)所述渲染風(fēng)格配置文件24選取標(biāo)志(logo),并根據(jù)所述上下文將所述標(biāo)志繪在所述背景圖式。這種標(biāo)志繪制的渲染可增加機(jī)器人或程序判讀的困擾,但對(duì)于善意人類用戶來(lái)說(shuō)不會(huì)產(chǎn)生困擾,反而可以增加提供服務(wù)的識(shí)別性。
[0032]干擾生成組件22根據(jù)所述渲染風(fēng)格配置文件24選取干擾,并根據(jù)所述上下文將干擾繪在所述背景圖式。干擾包括局部干擾(比如雪花點(diǎn))、紋理干擾(比如水波紋)、斷裂處理或曲線干擾(比如貝絲曲線(Bezier curve))等。
[0033]檢核組件28根據(jù)檢查規(guī)則對(duì)繪制完成的圖片驗(yàn)證碼進(jìn)行檢查,并根據(jù)檢查結(jié)果重新設(shè)定對(duì)應(yīng)組件的上下文,以建立新的圖片驗(yàn)證碼。檢查規(guī)則的原則是要保證生成的驗(yàn)證碼于機(jī)器不可讀,而對(duì)于人眼可讀。簡(jiǎn)單來(lái)說(shuō),由于本申請(qǐng)驗(yàn)證碼生成系統(tǒng)的特色是將圖片驗(yàn)證碼的繪制程序組件化,因此,當(dāng)所繪制的圖片驗(yàn)證碼不符合檢查規(guī)則時(shí),則可以再次調(diào)用對(duì)應(yīng)組件修改圖片驗(yàn)證碼即可,除了讓圖片驗(yàn)證碼更加友好外,繪制出的圖片驗(yàn)證碼也更多元。
[0034]舉例來(lái)說(shuō),在繪出字符后,如果檢核組件28發(fā)現(xiàn)背景長(zhǎng)度太小,小于字符建立組件18所建立的字符尺寸時(shí),檢核組件28會(huì)通知上下文生成組件10重新設(shè)定字符建立組件18或是背景生成組件14的上下文,使背景與字符尺寸相符。
[0035]再舉例來(lái)說(shuō),在繪出字符后,如果檢核組件28發(fā)現(xiàn)干擾的尺寸較小,小于字符建立組件18所建立的字符尺寸時(shí),因此不能完全覆蓋字符從而使字符部分或者全部暴露在沒(méi)有干擾的背景中,這樣的生成的驗(yàn)證碼對(duì)于機(jī)器可讀,容易被破解識(shí)別,因此檢核組件28會(huì)通知上下文生成組件10重新設(shè)定字符建立組件18的上下文或是再次調(diào)用干擾生成組件22的上下文,使干擾與字符尺寸相符。
[0036]再舉例來(lái)說(shuō),使用字體注冊(cè)組件16注冊(cè)的某種字體時(shí),字符建立組件18所繪出的字符肉眼很難辨識(shí)或者容易認(rèn)錯(cuò),因此對(duì)于這種字符與字體的搭配就需要避免,預(yù)先將這種字符和字體的搭配方式設(shè)置給檢核組件28作為檢查規(guī)則,檢核組件28據(jù)此核查當(dāng)前所使用的字體與字符的搭配,在發(fā)現(xiàn)出現(xiàn)這種字體與字符的搭配時(shí),檢核組件28會(huì)通知上下文生成組件10重新設(shè)定字體注冊(cè)組件16的或是字符建立組件18的上下文,使字符和/或字體發(fā)生改變以避免出現(xiàn)類似預(yù)先設(shè)置的搭配。
[0037]再舉例來(lái)說(shuō),使用背景生成組件14建立背景圖式時(shí),字符建立組件18所繪出的字符,與背景圖式在顏色和圖樣上較接近以致肉眼很難辨識(shí)或者容易認(rèn)錯(cuò),或者雖然在顏色和圖樣上不接近但是搭配起來(lái)也會(huì)引起肉眼識(shí)別的錯(cuò)亂,因此對(duì)于這種背景圖式與字符的在顏色和圖樣的搭配就需要避免,預(yù)先將背景圖式與字符的在顏色和圖樣的搭配方式設(shè)置給檢核組件28作為檢查規(guī)則,檢核組件28據(jù)此核查當(dāng)前所使用的背景圖式與字符的搭配,在發(fā)現(xiàn)出現(xiàn)這種背景圖式與字符的搭配時(shí),檢核組件28會(huì)通知上下文生成組件10重新設(shè)定背景生成組件14的或是字符建立組件18的上下文,使字符和/或背景圖式發(fā)生改變以避免出現(xiàn)類似預(yù)先設(shè)置的搭配。
[0038]值得住意的,由于渲染風(fēng)格配置信息包括包含各個(gè)組件執(zhí)行使用的參數(shù),時(shí)間,步驟,狀態(tài)等,在繪制圖片驗(yàn)證碼時(shí),生成系統(tǒng)中各組件有單步無(wú)限迭代的執(zhí)行,有分支組合,并行歸并,相應(yīng)的步驟可以調(diào)整和選擇,并且對(duì)于系統(tǒng)的擴(kuò)展性來(lái)說(shuō),也是良好的,在后續(xù)的擴(kuò)展中還可以增添新的組件。
[0039]在渲染的流程中,每個(gè)組件都存有該組件參數(shù)的上下文信息,并且會(huì)根據(jù)上一步的上下文信息來(lái)決定當(dāng)前步驟的參數(shù)和動(dòng)作。上下文提供了魯棒性較強(qiáng)的形狀與位置特征描述,各個(gè)組件根據(jù)上一步的上下文信息來(lái)繪制渲染效果于圖片驗(yàn)證碼上,可避免圖片渲染效果的混亂,方便人類用戶的辨識(shí),但仍可維持圖片驗(yàn)證碼的復(fù)雜強(qiáng)度。傳統(tǒng)通過(guò)隨機(jī)選取渲染效果的方式,可能會(huì)產(chǎn)生渲染效果重迭,影響了人類用戶的判讀。
[0040]總之,本申請(qǐng)?zhí)岢龅尿?yàn)證碼生成系統(tǒng)將圖片驗(yàn)證碼所組合的內(nèi)容組件化,利用在每個(gè)組件中添加上下文信息隨時(shí)根據(jù)需要對(duì)組件的組合和順序進(jìn)行有機(jī)動(dòng)態(tài)的調(diào)整,而且所有的組件都是根據(jù)相應(yīng)的上下文來(lái)調(diào)整策略,而且在策略的選取上尤其重視用戶的體驗(yàn),因而該系統(tǒng)所渲染的驗(yàn)證碼的用戶體驗(yàn)佳。
[0041]本申請(qǐng)還公開(kāi)了一種驗(yàn)證碼生成方法,以增強(qiáng)圖片驗(yàn)證碼被破解的難度,提高網(wǎng)絡(luò)安全。驗(yàn)證碼生成方法應(yīng)用于網(wǎng)絡(luò)服務(wù)器中的驗(yàn)證碼生成系統(tǒng)。
[0042]圖2為根據(jù)本申請(qǐng)一實(shí)施例的驗(yàn)證碼生成方法的流程圖。如圖2所示,該方法包括:
[0043]步驟S30根據(jù)渲染風(fēng)格配置信息建立多個(gè)上下文,各個(gè)上下文對(duì)應(yīng)一種驗(yàn)證碼圖片風(fēng)格配置,其中所述渲染風(fēng)格配置信息系由一用戶設(shè)定或網(wǎng)絡(luò)服務(wù)器預(yù)設(shè);及
[0044]步驟S32根據(jù)一預(yù)設(shè)演算規(guī)則設(shè)定上下文執(zhí)行順序,并根據(jù)所述上下文執(zhí)行順序執(zhí)行所述上下文繪制圖片驗(yàn)證碼。
[0045]渲染風(fēng)格配置信息包括包含參數(shù),時(shí)間,步驟,狀態(tài)等,作為步驟S30生成上下文所需的參考信息。渲染風(fēng)格配置信息可由用戶通過(guò)使用者接口(user interface)進(jìn)行個(gè)人化設(shè)定,或是由驗(yàn)證碼生成系統(tǒng)預(yù)設(shè)。本申請(qǐng)驗(yàn)證碼生成方法可透過(guò)硬件結(jié)合軟件,通過(guò)Java與JavaScript語(yǔ)言編寫(xiě)的程序執(zhí)行。
[0046]圖3為根據(jù)圖2的驗(yàn)證碼生成方法中步驟S32的子步驟流程圖。所述步驟S32進(jìn)一步包括:
[0047]步驟S320根據(jù)所述上下文自字符庫(kù)隨機(jī)建立字符,所述字符庫(kù)包括但不限于以下一種或多種的組合:至少一英文字母、至少一阿拉伯?dāng)?shù)字與至少一符號(hào);
[0048]步驟S322根據(jù)所述上下文建立背景圖式,并根據(jù)所述渲染風(fēng)格配置文件指定背景圖式的大?。?br>
[0049]步驟S324根據(jù)所述上下文定義字體;
[0050]步驟S326根據(jù)所述上下文將字符依定義好的字體繪在所述背景圖式上;
[0051]步驟S328根據(jù)所述渲染風(fēng)格配置文件選取標(biāo)志,并根據(jù)所述上下文將所述標(biāo)志繪在所述背景圖式 '及
[0052]步驟S330根據(jù)所述渲染風(fēng)格配置文件選取干擾,并根據(jù)所述上下文將干擾繪在所述背景圖式。
[0053]為了避免說(shuō)明書(shū)過(guò)于冗長(zhǎng)導(dǎo)致閱讀上的困難,此方法實(shí)施例省略部分與上述系統(tǒng)
實(shí)施例相同的部分,比如說(shuō)英文字母可為A,B, C,.........X,y,z等52個(gè)大小寫(xiě)的組合,阿拉
伯?dāng)?shù)字為O至9的組合,這些省略的部分不至于會(huì)讓本領(lǐng)域內(nèi)的技術(shù)人員不了解本申請(qǐng)的內(nèi)容。
[0054]值得住意的是,上述的上下文執(zhí)行順序是先建立字符(步驟S320)后給予背景(步驟S322),再?zèng)Q定字符的于圖片驗(yàn)證碼上顯示的樣式(步驟S324與S326),最后再生成標(biāo)志(步驟S328)與干擾(步驟S330)。而本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例中步驟S320至S330可根據(jù)渲染風(fēng)格配置信息設(shè)定不同順序的步驟,也可以刪除或省略其中一個(gè)步驟。
[0055]本申請(qǐng)又公開(kāi)了一種驗(yàn)證碼生成方法,對(duì)一張已經(jīng)存在的圖片驗(yàn)證碼,進(jìn)行再加工以增強(qiáng)圖片驗(yàn)證碼被破解的難度。
[0056]圖4為根據(jù)本申請(qǐng)另一實(shí)施例的驗(yàn)證碼生成方法的流程圖。如圖4所示,該驗(yàn)證碼生成方法包括:
[0057]步驟S40取得圖片驗(yàn)證碼與渲染風(fēng)格配置信息,其中所述渲染風(fēng)格配置信息是由用戶設(shè)定或網(wǎng)絡(luò)服務(wù)器預(yù)設(shè);
[0058]步驟S42根據(jù)所述圖片驗(yàn)證碼生成原生上下文(original sharp context);
[0059]步驟S44根據(jù)所述渲染風(fēng)格配置信息分析所述原生上下文建立需要的上下文;及
[0060]步驟S46根據(jù)所述上下文與所述原生上下文重繪新的圖片驗(yàn)證碼。
[0061]具體地,當(dāng)服務(wù)器發(fā)現(xiàn)被要求辨識(shí)的使用者答錯(cuò)次數(shù)超過(guò)一門坎值,會(huì)將使用者判定惡意使用,服務(wù)器會(huì)將以生成的圖片驗(yàn)證碼收回,根據(jù)收回的圖片驗(yàn)證碼分析出原生上下文,對(duì)收回的圖片驗(yàn)證碼進(jìn)行加工(比如新增一種干擾),這新增的干擾會(huì)擾亂惡意機(jī)器人的判讀,增加破解的難度。
[0062]另外,為了讓圖片驗(yàn)證碼更加友好外,且繪制出的圖片驗(yàn)證碼也更多元,本申請(qǐng)另公開(kāi)了一種驗(yàn)證碼生成方法,對(duì)繪制完成的圖片驗(yàn)證碼進(jìn)行檢查,以確保所生成的圖片驗(yàn)證碼于機(jī)器不可讀,而對(duì)于人眼可讀。
[0063]請(qǐng)參考圖5所示,又一實(shí)施例的驗(yàn)證碼生成方法包括:
[0064]步驟S50根據(jù)檢查規(guī)則對(duì)所述繪制完成的圖片驗(yàn)證碼進(jìn)行檢查;
[0065]步驟S52若符合規(guī)定,則無(wú)須修改所述圖片驗(yàn)證碼;及
[0066]步驟S54若不符合規(guī)定,則重新設(shè)定對(duì)應(yīng)于需要修改的所述上下文,重新繪制新的圖片驗(yàn)證碼。
[0067]簡(jiǎn)單來(lái)說(shuō),在繪出字符(步驟S326)后,如果發(fā)現(xiàn)背景長(zhǎng)度(步驟S322)太小,小于字符的字符尺寸(步驟S320)時(shí),則重新設(shè)定上下文,使背景與字符尺寸相符。
[0068]另外,在繪出字符后,如果發(fā)現(xiàn)干擾的尺寸較小,小于字符的字符尺寸時(shí),重新設(shè)定上下文重繪驗(yàn)證碼的部分組件,使干擾與字符尺寸相符。
[0069]另外,使用某種字體生成的字符肉眼很難辨識(shí)或者容易認(rèn)錯(cuò),預(yù)先規(guī)定這種字符和字體的搭配方式為非 法組合,如果發(fā)現(xiàn)當(dāng)前出現(xiàn)這種字體與字符的搭配時(shí),重新設(shè)定上下文,使字符和/或字體發(fā)生改變以避免出現(xiàn)類似預(yù)先設(shè)置的搭配。
[0070]另外,使用某種背景圖式與字符的顏色和圖樣上較接近的搭配會(huì)導(dǎo)致肉眼很難辨識(shí)或者容易認(rèn)錯(cuò),或者雖然顏色和圖樣上不接近但是搭配起來(lái)也會(huì)導(dǎo)致肉眼識(shí)別的錯(cuò)亂,預(yù)先規(guī)定背景圖式與字符的在顏色和圖樣的搭配方式為非法組合,如果發(fā)現(xiàn)當(dāng)前出現(xiàn)這種背景圖式與字符的搭配時(shí),重新設(shè)定上下文,使字符和/或背景圖式發(fā)生改變以避免出現(xiàn)類似預(yù)先設(shè)置的搭配。
[0071]以下以兩個(gè)應(yīng)用實(shí)例對(duì)本申請(qǐng)的上下文機(jī)制進(jìn)行說(shuō)明。
[0072]I)下面這段代碼:
[0073]
【權(quán)利要求】
1.一種驗(yàn)證碼生成系統(tǒng),包括: 上下文生成組件,根據(jù)渲染風(fēng)格配置文件建立多個(gè)對(duì)應(yīng)所述各組件的上下文; 隨機(jī)字符生成組件,根據(jù)所述上下文自字符庫(kù)隨機(jī)建立字符; 背景生成組件,根據(jù)所述上下文建立背景圖式,并根據(jù)所述渲染風(fēng)格配置文件指定背景圖式的大??; 字體注冊(cè)組件,根據(jù)所述上下文定義所述字符的字體; 字符建立組件,通過(guò)所述字體注冊(cè)組件所定義的字體,根據(jù)所述上下文將所述字符依所述字體繪制; 背景標(biāo)志生成組件,根據(jù)所述渲染風(fēng)格配置文件選取標(biāo)志,并根據(jù)所述上下文將所述標(biāo)志繪制;及 干擾生成組件,根據(jù)所述渲染風(fēng)格配置文件選取干擾,并根據(jù)所述上下文將干擾繪制。
2.如權(quán)利要求1所述的驗(yàn)證碼生成系統(tǒng),其特征在于,所述字符庫(kù),包括以下一個(gè)或多個(gè)的組合:至少一英文字母、至少一阿拉伯?dāng)?shù)字與至少一符號(hào)。
3.如權(quán)利要求1所述的驗(yàn)證碼生成系統(tǒng),其特征在于,所述渲染風(fēng)格配置文件是由渲染風(fēng)格配置信息所組成,所述渲染風(fēng)格配置信息由用戶通過(guò)使用者接口進(jìn)行個(gè)人化設(shè)定,或是由所述驗(yàn)證碼生成系統(tǒng)預(yù)設(shè)。
4.如權(quán)利要求3所述的驗(yàn)證碼生成系統(tǒng),其特征在于,所述渲染風(fēng)格配置信息包含各個(gè)組件執(zhí)行使用的參數(shù),時(shí)間,步驟及狀態(tài)。
5.如權(quán)利要求1所述的驗(yàn)證碼生成系統(tǒng),其特征在于,所述字符建立組件對(duì)字符進(jìn)行變形,包括:剛性變化和/或非線性`變化。
6.如權(quán)利要求1所述的驗(yàn)證碼生成系統(tǒng),其特征在于,所述各組件有單步無(wú)限迭代的執(zhí)行,有分支組合或并行歸并。
7.如權(quán)利要求1所述的驗(yàn)證碼生成系統(tǒng),其特征在于,所述每個(gè)組件存有該組件參數(shù)的上下文,并根據(jù)執(zhí)行的前一組件的上下文決定動(dòng)作。
8.如權(quán)利要求1所述的驗(yàn)證碼生成系統(tǒng),還包括: 檢核組件,根據(jù)檢查規(guī)則對(duì)所述繪制完成的圖片驗(yàn)證碼進(jìn)行檢查,并根據(jù)檢查結(jié)果重新設(shè)定對(duì)應(yīng)所述組件的所述上下文,以建立新的圖片驗(yàn)證碼。
9.一種驗(yàn)證碼生成方法,應(yīng)用于網(wǎng)絡(luò)服務(wù)器中的驗(yàn)證碼生成系統(tǒng),其特征在于,該方法包括: 根據(jù)渲染風(fēng)格配置信息建立多個(gè)上下文,各個(gè)上下文對(duì)應(yīng)一種驗(yàn)證碼圖片風(fēng)格配置; 根據(jù)預(yù)設(shè)的演算規(guī)則設(shè)定上下文執(zhí)行順序,并根據(jù)所述上下文執(zhí)行順序執(zhí)行所述上下文繪制圖片驗(yàn)證碼。
10.如權(quán)利要求9所述的驗(yàn)證碼生成方法,其特征在于,所述根據(jù)所述上下文執(zhí)行順序執(zhí)行所述上下文繪制圖片驗(yàn)證碼的步驟,包括: 根據(jù)所述上下文自字符庫(kù)隨機(jī)建立字符; 根據(jù)所述上下文建立背景圖式,并根據(jù)所述渲染風(fēng)格配置文件指定背景圖式的大??; 根據(jù)所述上下文定義字體; 根據(jù)所述上下文將字符依定義好的字體繪在所述背景圖式上; 根據(jù)所述渲染風(fēng)格配置文件選取標(biāo)志,并根據(jù)所述上下文將所述標(biāo)志繪在所述背景圖式;及 根據(jù)所述渲染風(fēng)格配置文件選取干擾,并根據(jù)所述上下文將干擾繪在所述背景圖式。
11.如權(quán)利要求9所述的驗(yàn)證碼生成方法,其特征在于,該方法另包括: 根據(jù)檢查規(guī)則對(duì)所述繪制完成的圖片驗(yàn)證碼進(jìn)行檢查; 若符合規(guī)定,則無(wú)須修改所述圖片驗(yàn)證碼 '及 若不符合規(guī)定,則重新設(shè)定對(duì)應(yīng)于需要修改的所述上下文,重新繪制新的圖片驗(yàn)證碼。
12.—種驗(yàn)證碼生成方法,應(yīng)用于網(wǎng)絡(luò)服務(wù)器中的驗(yàn)證碼生成系統(tǒng),其特征在于,該方法包括: 取得圖片驗(yàn)證碼與渲染風(fēng)格配置信息; 根據(jù)所述圖片驗(yàn)證碼生成原生上下文; 根據(jù)所述渲染風(fēng)格配置信息分析所述原生上下文建立需要的上下文;及 根據(jù)所述上 下文與所述原生上下文重繪新的圖片驗(yàn)證碼。
【文檔編號(hào)】H04L29/06GK103731403SQ201210387390
【公開(kāi)日】2014年4月16日 申請(qǐng)日期:2012年10月12日 優(yōu)先權(quán)日:2012年10月12日
【發(fā)明者】侯欣杰, 張雪飛 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司