asp中使用圖片驗證碼的方法

現在許多網站的登陸都需要輸入驗證碼,驗證碼一般都是以圖片的形式顯示的。這樣一來,能提高登陸的安全性,防止暴力猜解密碼。爲何要用圖片顯示驗證碼?試想,如果只是生成文本的驗證碼,破解人可以利用類似於小偷的技術,先把你這個頁面讀取,然後分析出驗證碼,最後進行暴力猜解。這樣的話,驗證碼就沒有任何實際意義了。廢話少說,下面我就開始說一說怎樣實現asp中顯示圖片驗證碼。

要實現asp中顯示圖片驗證碼,首先需要以下三個文件:

GetCode.asp (用於生成圖片驗證碼)

head.fix (圖片頭)

body.fix (圖片主體)

你也許會問,這些文件我從哪裏可以得到呢?不用着急,這些文件在dvbbs7.0裏面有。我也是在研究了dvbbs7.0裏面的驗證碼之後才學會如何使用圖片驗證碼的。

首先看getcode.asp文件,裏面有幾行是這樣的:

Ados.LoadFromFile(Server.mappath("body.Fix"))
Ados1.write Ados.read(1280)
For i=0 To 3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.write ados.read(320)
Next
Ados.LoadFromFile(Server.mappath("head.fix"))

看到body.fix和head.fix了嗎?這裏指的是他們與getcode.asp的相對位置。如果他們三個文件在一個目錄裏面,就按照以上的寫法就可以了。如果不是,就需要寫出他倆與getcode.asp的相對位置。比如:如果getcode.asp在根目錄下,body.fix&head.fix在根目錄下的test文件夾下,那麼,上面的代碼就需改爲:

Ados.LoadFromFile(Server.mappath("test/body.Fix"))
Ados1.write Ados.read(1280)
For i=0 To 3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.write ados.read(320)
Next
Ados.LoadFromFile(Server.mappath("test/head.fix"))

這樣,才能保證圖片顯示的正常。

如何調用?

很簡單,只需要這樣:

<img src=getcode.asp border=0>

即可。

每當在調用getcode.asp之後,會自動生成一個session,這個session存儲着和驗證圖片上顯示的一樣的四位數字。你只需把接收到的驗證碼和這個session比較,然後判斷驗證碼是否輸入正確。當然,最好像這樣:

If Cstr(Trim(接收的變量名))=Cstr(Session("GetCode")) Then

Response.Write ("OK!")

Else

Response.Write ("No!")

End If

呵呵,至此,囉嗦完畢。希望你在看完本文後有所啓發。當然,本人水平有限,文中難免出現錯誤,歡迎大家指正。

有人可能要問,圖片能不能修改啊,答案是肯定的,網上有相關文章,你可以去查查。

附:http://www.loster.net/aspfile/getcode.rar getcode.asp,head.fix,body.fix文件壓縮包 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章