简单验证码的生成及显示

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

为了对付暴力破解登录密码,在用户注册或者登录的时候采用输入验证码被普遍采用。生成验证码的方法有很多,这里仅介绍生成数字验证码的思路及实现方法。(以下程序语言均为VBS)

数字验证码一般由随机数生成,也可以由时间生成,例如分别取分、秒、毫秒,但笔者认为其安全性不及前者。

1、验证码的生成程序(采用随机数方式)

[FileName]:getverifycode.asp

[Code]:<%

dim getrandom

Randomize '设置随机因子

getrandom=mid((rnd*100000),1,4) '生成6位随机数,取高4位

Session("verifycode")=getrandom '保存于Session中

%>

把该文件使用include嵌套于要显示验证码的页面上。把生成的验证码存放于Session中的作用是在提交数据后,在验证页面读取用户输入的值与该值相比较,如果吻合则证明其数据来源合法,可进行下一步操作。

2、验证码的生成程序

随机数生成后,可通过两种方法显示,一种是直接显示,另外一种是图片显示。以下着重介绍图片显示方法。首先我们要用绘图软件制作内容分别为数字0~9的图片共10张,分别取名为1.gif、2.gif……,以此类推。制作完毕后我们就可以着手编写代码了。代码如下:

<img src="images/<%=mid(Session("verifycode"),1,1)%>.gif" width="15" height="15" alt="">

<img src="images/<%=mid(Session("verifycode"),2,1)%>.gif" width="15" height="15" alt="">

<img src="images/<%=mid(Session("verifycode"),3,1)%>.gif" width="15" height="15" alt="">

<img src="images/<%=mid(Session("verifycode"),4,1)%>.gif" width="15" height="15" alt="">

同时,我们要在表单中插入一个验证码输入框,以便用户按照显示的验证码进行输入。

3、验证码的验证

用户输入了验证码及其它必须信息,提交之后,就要在接收数据页面进行相应的验证处理。过程比较简单,只要把用户输入的验证码与存放于Session中的相比较就可以了。代码如下:

dim usercode

usercode=Request.Form("verifycode")

if usercode<>Session("verifycode") then

Response.Redirect("验证码不正确提示页面")

Response.End

else

(处理其他数据)

end if

至此,一个简单的验证码编写过程就完成了。本文有错误及不足之处,敬请指正。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有