动易PowerEasy_CMS2006_SP6_Express前后台登录时验证码及管理认证码的更改

作者:我就是个世界 发表于:2007-08-24
[color=#0000FF]1、如何去掉后台登录时的管理认证码?[/color]

答:在Admin\Admin_ChkCode.asp中修改,内有注释。

[code]<%
Const EnableSiteManageCode = False       '是否启用后台管理认证码 是: True  否: False
Const SiteManageCode = "PowerEasy2006"  '后台管理认证码,您可以修改成您的管理员认证码:×××××××××

'检查后台管理认证码[/code][separator]

[color=#0000FF]2、如何把登陆生成的验证码,改成5位或者4位的?[/color]

答:
(1)修改验证码文件 Inc/checkcode.asp 第15行、第41行 For i = 0 To 5,这是显示6位验证码的,如想显示4位,则改为 For i = 0 To 3。

(2)修改所有站中要输入验证码的地方,如后台登录处改Admin目录中的Admin_Login.asp文件中的137行中的<input name='CheckCode' size='6' maxlength='6' ,改为<input name='CheckCode' size='4' maxlength='4' 。

下面为要修改的页面:
Admin/Admin_Login.asp           文件中的137行
User/User_GetPassword.asp       文件中的100行
User/User_Login.asp             文件中的99行
UserLogin.asp                  文件中的76行
Install.asp                    (78行,这个就不必改了。^_^)

(3)把下面提供的下载文件:Head.fix 放到网站根目录下的Images文件夹里(注意:因为这个Images文件夹里有同名的文件,但这个同名文件是启用6位验证码的文件,你可以把它改名,以备以后再启用6位验证码时能恢复使用)

点击下载4位的head文件
[sfile]attachment/200708/1187963740_0.rar[/sfile]


[color=#0000FF]3、第2个问题修改完以后,登录的验证码已经是4位的了,但是看不清楚怎么办?[/color]

答:动易2006版中,系统后台登陆的验证码效果一共提供了18种风格。

  请修改INC/Checkcode.asp文件的第四行“NumCode(1) ”中()内的数值,括号中数字'注:1,4,7,10,13,16为黑白型 2,5,8,11,14,17为彩色背景型 3,6,9,12,15,18为噪点型。选一个自己喜欢的效果。

 如果仍想要动易4.03版系统的验证码效果,只要把4.03中的Checkcode.asp和Images目录中的head.fix body.fix拷过去覆盖即可。

[color=#0000FF]4、如何把登陆生成的验证码,改成纯数字的?[/color]

答: 修改验证码文件 Inc/checkcode.asp 第16行 把rNum = CStr(CInt([color=#FF0000]9[/color] * Rnd)) 改为[color=#FF0000]35[/color]即可!
文件后面本身有注释:

[code] rNum = CStr(CInt(9 * Rnd)) '将35改为9即为使用纯数字密码[/code]

-------------------------------------------------

很多帖子提出来修改CheckCode.asp文件的几个参数,就可以修改验证码位数,但是经过实践,发现并不能够正确显示.现在发现问题本身是BMP文件头部的定义造成的.默认的Head.Fix文件定义了图片的尺寸位15*60像素,而改为4位验证码的话,就应该是15*40像素.所以关键要修改 Head.Fix文件里定义尺寸的参数.用UltraEdit打开Head.Fix文件,如图  
[img]http://bbs.powereasy.net/skins/default/filetype/jpg.gif[/img]
此主题相关图片如下:  
[img]http://bbs.powereasy.net/UploadFile/2008-3/20083213142618536.jpg[/img]
  
将3C 改为28 就是4位验证码的宽度,改为1E就是3位的,改为14就是2位的,改为32就是5位的,改为0A就是1位的.  
这个文件修改后,再修改CheckCode.asp文件的几个参数就可以了.如下  
[quote]
'得到验证码的字符串  
Dim zimg([color=#ff0000]4[/color]), NStr  [color=#ff0000]'这里由6改为4[/color]  
Randomize Timer  
For i = 0 To [color=#ff0000]3  '这里由5改为3[/color]  
  rNum = Fix([color=#ff0000]9[/color] * Rnd)[color=#ff0000] '将35改为9即为使用纯数字密码[/color]  
  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([color=#ff0000]1920[/color]) [color=#ff0000]'这里由2880改为1920[/color]  
For i = 0 To [color=#ff0000]3 '这里由5改为3[/color]  
  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 [color=#ff0000]3 '这里由5改为3  
[/color]    Ados1.Position = i * 32 + j * 480  
    Ados.Position = Pos + 30 * j + i * 270  
    Ados.write Ados1.Read(30)  
  Next  
Next
[/quote]
还有在每个应用验证码的地方,将Input的 Size=6 改为 Size=4 maxlength=6 改为 4  
如果不会修改Head.Fix文件,可以下载我修改好的Head.Fix文件如下(4位的)  
[img]http://bbs.powereasy.net/skins/default/filetype/rar.gif[/img]
[url=http://bbs.powereasy.net/UploadFile/2008-3/20083214172322065.rar]点击浏览该文件[/url]

分享:

扫一扫在手机阅读、分享本文

请发表您的评论