ASP中使用圖片驗證碼的方法分享
本文提供給大家分享學習的是關于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