ASP代码给网页添加验证码的实现方法

2012 年 9 月 18 日6950

本文给大家介绍ASP实现给网页添加验证码的功能,您可以将这个功能添加在注册表单、网页评论等中,下边来看实现法:

第一步:下载本文下的附件。该压缩包为imgchk文件夹,其中有三个文件:validatecode.asp,validatebody.fixvalidatehead.fix

  主要即是为生成验证码服务的。

  将解压文件夹直接释放在需要在某页添加验证码的同目录下,(比如addnew.asp需要添加验证码,该文件在cnbruce文件夹下,则将imgchk文件夹同时释放到cnbruce文件夹中)

第二步:添加显示验证码和输入框

  在需要添加验证码的页面中添加如下代码

<input type='text' size='5'> <img src='imgchk/validatecode.asp'>

第三步:记录接受页面处理

  在步骤2中,一定会将记录提交到某个页面处理,那么在该处理页中添加如下代码

If Trim(Request.Form("validatecode"))=Empty Or Trim(Session("cnbruce.com_ValidateCode"))<>Trim(Request.Form("validatecode")) Then
response.write("请注意正确输入验证码")
response.end
end if

  验证码原理:

  在生成验证码图片的时候,同时生成了一个Session,其值就是验证码图片中的数字值。

  同时,提供输入框让用户输入,提交输入值后,与已有的Session值进行比较,根据判断结果做相应判断。

  如果需要修改Session的name,只有两个地改动:

  a:您下载的imgchk文件夹中的validatecode.asp,其中涉及到cnbruce.com的该成您的;

  b:就是刚才的步骤3中Trim(Session("cnbruce.com_ValidateCode"))<>Trim(Request.Form("validatecode")) 中的cnbruce.com换成a所设定的。

  另外===================================================
  显示校验码的补丁(有些朋友显示不出验证码,这里看看)

  用下面内容创建文件SP2.reg(用记事本就可以,保存时选“另存为”)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Security]
"BlockXBM"=dword:00000000

  双击导入注册表中,然后重启机器。

好了至此为止,验证码已经加好了,可以试试多注册几个帐号实验下,唯一不爽的就是如果不输入验证码点确定的话会自动转入另外一个页面,字体好大好丑,有空闲功夫的人可以改成弹出提示,例如:

Response.Write("<script>alert('验证码错误,请重新填入!');window.location.replace('"&Request.ServerVariables("HTTP_REFERER")&"');</script>")

下载:源代码

0 0