
离线 TA的专栏
- 打卡等级:热心大叔
- 打卡总天数:216
- 打卡月天数:0
- 打卡总奖励:3161
- 最近打卡:2025-03-21 14:58:28
|
将验证码改为加法运算,比如验证码显示“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 = Nothing
- End Sub
- %>
复制代码
以上就是关于asp实现加法验证码的关键代码,有兴趣的朋友,还可以扩展为其他的运算,比如乘法,减法,乘方等,希望本文对大家的学习有所帮助。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:  进行删除处理。
4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
|