聚合新闻服务
手机wap浏览
您现在的位置: 动易模板 >> 动易中心 >> 动易教程 >> 正文
注册登陆
建站服务
视动工坊
服务项目
建站流程
建站价目
成功作品
联系信息
联系信息
视动工坊:动易认证设计师
动易模板大赛连续两次获奖
现共完成动易模板100余个
热诚欢迎定制改制动易模板
Q Q: 363881827
手机: 13153001848
Tel: 0531-83711777
Mail: wsdjqwj2003@163.com
   
[组图]动易验证码修改为4位全数字成功,现分享给各位
作者:佚名 文章来源:本站原创 点击数: 更新时间:2008-8-10 7:14:59

很多帖子提出来修改CheckCode.asp文件的几个参数,就可以修改验证码位数,但是经过实践,发现并不能够正确显示.现在发现问题本身是BMP文件头部的定义造成的.默认的Head.Fix文件定义了图片的尺寸位15*60像素,而改为4位验证码的话,就应该是15*40像素.所以关键要修改Head.Fix文件里定义尺寸的参数.用UltraEdit打开Head.Fix文件,如图


图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看

将3C 改为28 就是4位验证码的宽度,改为1E就是3位的,改为14就是2位的,改为32就是5位的,改为0A就是1位的.

这个文件修改后,再修改CheckCode.asp文件的几个参数就可以了.如下

'得到验证码的字符串
Dim zimg(4), NStr   '这里由6改为4
Randomize Timer
For i = 0 To 3    '这里由5改为3
    rNum = Fix(9 * Rnd) '将35改为9即为使用纯数字密码
    zimg(i) = rNum
    listnum = listnum & Mid(listcode, rNum + 1, 1)
Next
Session("CheckCode") = listnum
'*********************

Dim Pos
Set Ados = Server.CreateObject("Adodb.Stream")
Ados.Mode = 3
Ados.Type = 1
Ados.Open
Set Ados1 = Server.CreateObject("Adodb.Stream")
Ados1.Mode = 3
Ados1.Type = 1
Ados1.Open

'得到验证码图像实体部分
Ados.LoadFromFile Server.mappath("../images/body" & CodeType & ".Fix")
Ados1.write Ados.Read(1920'这里由2880改为1920

For i = 0 To 3  '这里由5改为3
    Ados.Position = (35 - zimg(i)) * 480
    Ados1.Position = i * 480
    Ados1.write Ados.Read(480)
Next

'得到图像头部信息
Ados.LoadFromFile Server.mappath("../images/head.fix")
Pos = LenB(Ados.Read())
'Ados.Position = Pos

'将头部信息与实体部分合并成横向排列
On Error Resume Next
For i = 0 To 15
    For j = 0 To 3 '这里由5改为3
        Ados1.Position = i * 32 + j * 480
        Ados.Position = Pos + 30 * j + i * 270
        Ados.write Ados1.Read(30)
    Next
Next

还有在每个应用验证码的地方,将Input的 Size=6 改为 Size=4  maxlength=6 改为 4

如果不会修改Head.Fix文件,可以下载我修改好的Head.Fix文件如下(4位的)

图片点击可在新窗口打开查看点击浏览该文件

动易中心录入:alang    责任编辑:alangyuafeng929 
  • 上一个动易中心:
  • 下一个动易中心: 没有了
  • 评论主题:动易验证码修改为4位全数字成功,现分享给各位(评论内容只代表网友观点)
    版权所有:copyright 2005-2008 动易模板NO.1 核心:PowerEasy SiteWeaver™ 6.6 备案:鲁ICP备05007599号
    电话:0531-83711777(晚间)手机:13153001848 QQ:363881827 群号:一群13022466(满)二群36354619