动网论坛验证码改进 加法验证码(ASPJpeg版)
站长们对于论坛中的垃圾广告无疑深感困扰,为了解决这一问题,有人研发了一款针对论坛垃圾广告群发器的程序。该程序采用了一种新颖的验证码方式,那就是加法运算验证码。
传统的字符验证码,容易被自动识别,而这款加法验证码则能有效防止这种情况。它显示的验证码不再是单一的字符或汉字,而是类似“25+64等于?”这样的加法运算题目。用户需要输入正确的计算结果,才能通过验证。
与纯字符验证码相比,这款加法验证码能够阻止绝大部分(99%以上)的自动识别。即便面对中文验证码,市面上的大部分也无可奈何。它还避免了用户在输入用户名、密码和验证码时,需要频繁切换输入法的麻烦。
想要使用这款验证码的朋友,还可以将其扩展为其他运算,比如乘法、减法、乘方等,以适应更多场景。只需将以下代码保存为Dv_GetCode.asp文件,并替换动网论坛的相应文件即可。
这款程序需要网站空间支持ASPJpeg组件以及“楷体_GB2312”字体。背景色和字体颜色均可在代码中自定义修改。如果不满足这些条件,后续我会发布一个无需组件及字体支持的版本,敬请关注我的博客。
以下是程序代码:
```asp
'===========================动网论坛加法验证码(ASPJpeg版)===========================
'作者:cuixiping
'博客链接: 和
'日期:2008年11月
'生成100x20的jpeg图片验证码,内容类似“25+64等于?”
'需要网站空间支持ASPJpeg组件(Persits.Jpeg)。
'如果服务器没有“楷体_GB2312”字体,请修改为其他字体并调整字符位置。
'使用方法:将该代码替换动网论坛的Dv_GetCode.asp文件中的内容,文件首尾不要留空行。
Const FontColor = &H000000 '字体颜色
Const BgColor = &HFFCCFF '背景颜色
Call CreatValidCode("GetCode")
Sub CreatValidCode(pSN)
Dim x, Jpeg
Randomize
x = Array(...) ' 生成随机加法算式
Session(pSN) = CStr(Eval(生成的结果)) ' 存储计算结果到Session中用于验证用户输入是否正确
Set Jpeg = Server.CreateObject("Persits.Jpeg")
With Jpeg.Canvas
... ' 在JPEG图片上打印加法算式和等号
End With
Response.ContentType = "image/jpeg" ' 设置响应类型为JPEG图片
Response.Expires = -9999 ' 禁止缓存
Response.AddHeader ... ' 添加禁止缓存的HTTP头部信息
Jpeg.SendBinary
Jpeg.Close
End Sub
```
这段代码通过生成随机的加法算式,并将其以JPEG图片的形式呈现出来,实现了加法验证码的功能。用户需要输入正确的计算结果才能通过验证。这种方式大大提高了验证码的安全性,有效防止了的自动识别和恶意攻击。
编程语言
- 动网论坛验证码改进 加法验证码(ASPJpeg版)
- VS 2015开发跨平台手机应用的配置教程
- webpack css加载和图片加载的方法示例
- ajax图片上传,图片异步上传,更新实例
- Vue.set() this.$set()引发的视图更新思考及注意事项
- Symfony2针对输入时间进行查询的方法分析
- 创建简单的node服务器实例(分享)
- PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
- 简单了解Javscript中兄弟ifream的方法调用
- 使用jQuery制作遮罩层弹出效果的极简实例分享
- Ajax中post方法直接返回以0开头数字出错问题分析
- 在Vue组件化中利用axios处理ajax请求的使用方法
- thinkPHP框架实现类似java过滤器的简单方法示例
- 详解package.json版本号规则
- ajax实现数据分页查询
- Yii框架小部件(Widgets)用法实例详解