动网论坛验证码改进 加法验证码(ASPJpeg版)
动网论坛验证码改进 加法验证码(ASPJpeg版)
发布时间:2016-12-29 来源:查字典编辑
摘要:来看看效果图对比:字符验证码:→加法验证码:优点:①与纯字符验证码相比,本程序效防止了绝大部分(99%以上)广告机的自动识别。即使是中文验证...

来看看效果图对比:字符验证码:动网论坛验证码改进 加法验证码(ASPJpeg版)1 → 加法验证码:动网论坛验证码改进 加法验证码(ASPJpeg版)2

优点:

①与纯字符验证码相比,本程序效防止了绝大部分(99%以上)广告机的自动识别。即使是中文验证码,也能被市面上的部分广告机识别。

②与中文验证码相比,避免了用户输入用户名密码验证码的时候需要切换输入法的麻烦。

有兴趣的朋友,还可以扩展为其他的运算,比如乘法,减法,乘方等。

使用方法:将以下代码保存为Dv_GetCode.asp文件,替换动网论坛的该文件。背景色、字体颜色可在代码中修改。

说明:该程序需要网站空间支持ASPJpeg组件、楷体_GB2312字体。

后续我会发布一个不需要组件及字体支持的版本,有兴趣者请关注我的博客。

复制代码 代码如下:

<%

'=============================================================================

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

'作者:cuixiping

'博客(CSDN):http://blog.csdn.net/cuixiping/

'博客(博客园):http://www.cnblogs.com/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(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教程学习
热门ASP教程学习
编程开发子分类