當前位置:名人名言大全網 - 短信平臺 - 在網頁中,服務器端生成的驗證碼圖片有什麽要求,比如字體,顏色,圖片大小,幹擾線等等

在網頁中,服務器端生成的驗證碼圖片有什麽要求,比如字體,顏色,圖片大小,幹擾線等等

壹.常見的驗證碼

1,四位數字,隨機的壹數字字符串,最原始的驗證碼,驗證作用幾乎為零。

2,CSDN網站用戶登錄用的是GIF格式,目前常用的隨機數字圖片驗證碼。圖片上的字符比較中規中矩,驗證作用比上壹個好。沒有基本圖形圖像學知識的人,不可破!可惜讀取它的程序,在CSDN使用它的第壹天,好像就在論壇裏發布了,真是可憐!

3,QQ網站用戶登錄用的是PNG格式,圖片用的隨機數字+隨機大寫英文字母,整個構圖有點張揚,每刷新壹次,每個字符還會變位置呢!有時候出來的圖片,人眼都識別不了,厲害啊…

4,MS的hotmail申請時候的是BMP格式, 隨機數字+隨機大寫英文字母+隨機幹擾像素+隨機位置。

5,Google的Gmail註冊時候的是JPG格式,隨機英文字母+隨機顏色+隨機位置+隨機長度。

6,其他各大論壇的是XBM格式,內容隨機。

二.驗證碼作用分析

驗證碼起源:因為攻擊者會使用有害程序註冊大量的 Web 服務帳戶(如 Passport)。攻擊者可以使用這些帳戶為其他的用戶制造麻煩,如發送垃圾郵件或通過同時反復登錄多個帳戶來延緩服務的速度。在大多數情況下,自動註冊程序不能識別此圖片中的字符。簡單的說呢,就是防止攻擊者編寫程序,自動註冊,重復登錄暴力破解密碼。驗證碼技術應運而生。

驗證碼實現流程:服務器端隨機生成驗證碼字符串,保存在內存中,並寫入圖片,發送給瀏覽器端顯示,瀏覽器端輸入驗證碼圖片上字符,然後提交服務器端,提交的字符和服務器端保存的該字符比較是否壹致。壹致就繼續,否則返回提示。攻擊者編寫的robot程序,很難識別驗證碼字符,順利的完成自動註冊,登錄。。。。。。。。。而用戶可以識別填寫,所以這就實現了阻擋攻擊的作用。而圖片的字符識別,就是看圖片上的幹擾強度了。就實際的效果來說,驗證碼只是增加攻擊者的難度,而不可能完全的防止。

1,論壇中的驗證碼的作用

目前,不少網站為了防止用戶利用機器人自動註冊、登錄、灌水,都采用了驗證碼技術。所謂驗證碼,就是將壹串隨機產生的數字或符號,生成壹幅圖片,圖片裏加上壹些幹擾象素(防止OCR),由用戶肉眼識別其中的驗證碼信息,輸入表單提交網站驗證,驗證成功後才能使用某項功能。

因為妳的WEB站有時會碰到客戶機惡意攻擊,其中壹種很常見的攻擊手段就是身份欺騙它通過在客戶端腳本寫入壹些代碼,然後利用其客戶機在網站論壇反復登陸,或者攻擊者創建壹個HTML窗體,其窗體如果包含了妳註冊窗體或發帖窗體等相同的字段,然後利用" EXPlorer和Outlook EXPress在處理WEB頁,HTML郵件,EMAIL附件中畸形Xbm圖象文件會導致崩潰,問題存在於對Xbm文件中的內容缺少檢查,MSIE按照圖象規定的長度和寬度分配內存,攻擊者可以提高超大的長度和寬度數值導致系統消耗內存或者訪問沖突。

換句話說,如果構造壹個長寬的尺寸特別大的Xbm文件,很容易導致Windows的內存耗盡,導致程序無響應或者死機。本身來說,這不算壹個特別嚴重的漏洞,因為根據安全公告,無法造成溢出,不會存在太大的權限漏洞。但是由於XP的SP2強調安全性,因此將Xbm功能禁用了。從這點上可以看出,SP2對於安全的確比較重視,將有漏洞的功能基本上都補上或禁用了,作為網絡管理員,我對微軟的做法表示支持,因為操作系統默認設置的不安全,常常是造成非專業用戶被攻擊的首要因素。

解禁方法:

由此看出,以後我們訪問某些采用生成Xbm作為驗證代碼的站點的時候,就相當不方便了,如果有必要,可以通過簡單的操作註冊表恢復我們需要的功能。

打開註冊表(開始---運行---regedit----回車),然後進到鍵值[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet EXPlorer\Security]

將blockXbm的值改為00000000(dword,雙字節),沒有的話新建立壹個就可以了。

之後重新IE或者重新啟動機器,則Xbm格式的圖片就可以看到了。

五,Xbm的趨勢

從SP2禁止Xbm的趨勢看出,微軟打算似乎已經開始打算放棄對Xbm格式的支持了。那麽,作為程序編寫者,有必要未雨綢繆,尋找其他生成驗證碼的途徑。在php中,可以通過調用gd庫等方式生成jpg/gif等圖形格式的註冊驗證碼,那麽在asp中有其他的辦法麽?

事實上圖片驗證密碼的關鍵是--不能在客戶端留下圖片的真實url,或可對應反推源地址的信息,因此asp可以采用以下2種方式實現支持SP2的圖形驗證碼。

如果是購買的虛擬主機,那麽可以采用將jpg/gif圖片放到數據庫,然後用session傳值的方式,最後利用asp直接從數據庫中輸出圖片,這方法的好處是不需要特別設置服務器端,壞處則是每次生成驗證圖片時都會需要與數據庫連接,增加了開銷。