网页制作学习园地论坛网站建设交流『 ASP,PHP,CGI,JSP技术 』 → asp中使用图片验证码的方法


  共有3492人关注过本帖树形打印

主题:asp中使用图片验证码的方法

帅哥哟,离线,有人找我吗?
gaofeng
  1楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:3510 积分:11231 威望:5 精华:7 注册:2000/5/19 10:19:38
asp中使用图片验证码的方法  发帖心情 Post By:2014/5/28 14:33:15

现在许多网站的登陆都需要输入验证码,验证码一般都是以图片的形式显示的。这样一来,能提高登陆的安全性,防止暴力猜解密码。为何要用图片显示验证码?试想,如果只是生成文本的验证码,破解人可以利用类似于小偷的技术,先把你这个页面读取,然后分析出验证码,最后进行暴力猜解。这样的话,验证码就没有任何实际意义了。废话少说,下面我就开始说一说怎样实现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

支持(0中立(0反对(0回到顶部