首页 > 编程 > ASP > 正文

ASP实现加法验证码

2024-05-04 10:59:17
字体:
来源:转载
供稿:网友

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

<%Const FontColor = &H000000 ' 字体颜色Const BgColor = &HFFCCFF ' 背景颜色Call CreatValidCode("GetCode")Sub CreatValidCode(pSN)  Dim x, Jpeg  Randomize  x = Array(1+Int(Rnd()*9), Int(Rnd()*10), 1+Int(Rnd()*9), Int(Rnd()*10), 0, 0, "+")  x(4) = x(0)*10 + x(1)  x(5) = x(2)*10 + x(3)  'Session(pSN) = CStr(Eval(x(4) & x(6) & x(5)))  Session(pSN) = CStr(x(4) + x(5))  Set Jpeg = Server.CreateObject("Persits.Jpeg")  Jpeg.New 100,20,BgColor  Jpeg.Quality=100  With Jpeg.Canvas    .Font.Bold = True    .Font.Size = 16    .Font.Rotation = 0    .Font.Family = "楷体_GB2312"    .Font.Color = FontColor    .PrintText 4, 3, CStr(x(0))    .PrintText 14, 3, CStr(x(1))    .PrintText 26, 3, x(6)    .PrintText 38, 3, CStr(x(2))    .PrintText 48, 3, CStr(x(3))    .Font.Rotation = 15    .PrintText 55, 3, "等"    .PrintText 70, 3, "于"    .PrintText 85, 3, "?"  End With  '禁止缓存  Response.ContentType = "image/jpeg"  Response.Expires = -9999  Response.AddHeader "pragma", "no-cache"  Response.AddHeader "cache-ctrol", "no-cache"  Response.AddHeader "Content-Disposition","inline; filename=vcode.jpg"  Jpeg.SendBinary  Jpeg.Close  Set Jpeg = NothingEnd Sub%>

以上就是关于asp实现加法验证码的关键代码,有兴趣的朋友,还可以扩展为其他的运算,比如乘法,减法,乘方等,希望本文对大家的学习有所帮助。

您可能感兴趣的文章:

asp.net下中文验证码,免费开源代码asp.net(C#) 生成随机验证码的代码ASP.net 验证码实现代码(C#)Asp.net(C#)实现验证码功能代码asp.net 简单验证码验证实现代码asp.net 验证码生成和刷新及验证asp最简单的生成验证码代码ASP.NET中的无刷新验证码的开发(完整代码)asp无组件生成验证码 GIF图片格式asp.net ajax实现无刷新验证码asp.net 图片验证码的HtmlHelperasp.net生成验证码(纯数字)asp.net中3种验证码示例(实现代码)(数字,数字字母混和,汉字)ASP.NET MVC验证码功能实现代码asp.net验证码的简单制作
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表