动网论坛验证码改进 加法验证码(ASPJpeg版)

网络编程 2025-03-29 21:22www.168986.cn编程入门

站长们对于论坛中的垃圾广告无疑深感困扰,为了解决这一问题,有人研发了一款针对论坛垃圾广告群发器的程序。该程序采用了一种新颖的验证码方式,那就是加法运算验证码。

传统的字符验证码,容易被自动识别,而这款加法验证码则能有效防止这种情况。它显示的验证码不再是单一的字符或汉字,而是类似“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图片的形式呈现出来,实现了加法验证码的功能。用户需要输入正确的计算结果才能通过验证。这种方式大大提高了验证码的安全性,有效防止了的自动识别和恶意攻击。

上一篇:VS 2015开发跨平台手机应用的配置教程 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by