當(dāng)前位置: 首頁IT技術(shù) → ASP中使用圖片驗(yàn)證碼的方法分享

ASP中使用圖片驗(yàn)證碼的方法分享

更多

 本文提供給大家分享學(xué)習(xí)的是關(guān)于ASP中使用圖片驗(yàn)證碼的方法,希望對各位能夠有所幫助。

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

要實(shí)現(xiàn)asp中顯示圖片驗(yàn)證碼,首先需要以下三個(gè)文件:

GetCode.asp (用于生成圖片驗(yàn)證碼)

head.fix (圖片頭)

body.fix (圖片主體)

你也許會(huì)問,這些文件我從哪里可以得到呢?不用著急,這些文件在dvbbs7.0里面有。我也是在研究了dvbbs7.0里面的驗(yàn)證碼之后才學(xué)會(huì)如何使用圖片驗(yàn)證碼的。

首先看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的相對位置。如果他們?nèi)齻(gè)文件在一個(gè)目錄里面,就按照以上的寫法就可以了。如果不是,就需要寫出他倆與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"))

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

如何調(diào)用?

很簡單,只需要這樣:

<img src=getcode.asp border=0>

即可。

每當(dāng)在調(diào)用getcode.asp之后,會(huì)自動(dòng)生成一個(gè)session,這個(gè)session存儲(chǔ)著和驗(yàn)證圖片上顯示的一樣的四位數(shù)字。你只需把接收到的驗(yàn)證碼和這個(gè)session比較,然后判斷驗(yàn)證碼是否輸入正確。當(dāng)然,最好像這樣:

If Cstr(Trim(接收的變量名))=Cstr(Session("GetCode")) Then
Response.Write ("OK!")
Else
Response.Write ("No!")
End If

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)