ASP实现加法验证码

ASP教程 2025-08-07

这篇文章主要介绍了ASP实现加法验证码,是在原来的验证码基础上进行创新,将验证码改为加法运算,感兴趣的小伙伴们可以参考一下

将验证码改为加法运算,比如验证码显示25+64等于?,那么输入91就能通过验证。
来看看效果图对比:字符验证码:→ 加法验证码:
优点:
①与纯字符验证码相比,本程序效防止了绝大部分(99%以上)广告机的自动识别。即使是中文验证码, 也能被市面上的部分广告机识别。
②与中文验证码相比,避免了用户输入用户名密码验证码的时候需要切换输入法的麻烦。
说明:该程序需要网站空间支持ASPJpeg组件、楷体_GB2312字体。
代码如下:

  1. <%
  2. ConstFontColor=&H000000'字体颜色
  3. ConstBgColor=&HFFCCFF'背景颜色
  4. CallCreatValidCode(GetCode)
  5. SubCreatValidCode(pSN)
  6.  Dimx,Jpeg
  7.  Randomize
  8.  x=Array(1+Int(Rnd()*9),Int(Rnd()*10),1+Int(Rnd()*9),Int(Rnd()*10),0,0,+)
  9.  x(4)=x(0)*10+x(1)
  10.  x(5)=x(2)*10+x(3)
  11.  'Session(pSN)=CStr(Eval(x(4)&x(6)&x(5)))
  12.  Session(pSN)=CStr(x(4)+x(5))
  13.  SetJpeg=Server.CreateObject(Persits.Jpeg)
  14.  Jpeg.New100,20,BgColor
  15.  Jpeg.Quality=100
  16.  WithJpeg.Canvas
  17.  .Font.Bold=True
  18.  .Font.Size=16
  19.  .Font.Rotation=0
  20.  .Font.Family=楷体_GB2312
  21.  .Font.Color=FontColor
  22.  .PrintText4,3,CStr(x(0))
  23.  .PrintText14,3,CStr(x(1))
  24.  .PrintText26,3,x(6)
  25.  .PrintText38,3,CStr(x(2))
  26.  .PrintText48,3,CStr(x(3))
  27.  .Font.Rotation=15
  28.  .PrintText55,3,等
  29.  .PrintText70,3,于
  30.  .PrintText85,3,?
  31.  EndWith
  32.  '禁止缓存
  33.  Response.ContentType=image/jpeg
  34.  Response.Expires=-9999
  35.  Response.AddHeaderpragma,no-cache
  36.  Response.AddHeadercache-ctrol,no-cache
  37.  Response.AddHeaderContent-Disposition,inline;filename=vcode.jpg
  38.  Jpeg.SendBinary
  39.  Jpeg.Close
  40.  SetJpeg=Nothing
  41. EndSub
  42. %>
?