将织梦DEDECMS的验证码改为数字

softyun3年前cms教程140


将织梦DEDECMS的验证码改为数字
有时我感觉要输入字母验证码的话有点麻烦,如果是数学验证码,要方便些,
因为我们的数学小键盘,于是我就想把织梦的验证码改成数字验证码。
首先,我们要找到系统的这个验证码文件,经过一番寻找,我发现验证码文件在include\validateimg.php
 
打开后找到:

for($i=0;$i<4;$i++) 

?? $rndstring .= chr(mt_rand(65,90)); 

  
将它改成: 
for($i=0;$i<4;$i++) 

?? $rndstring .= chr(mt_rand(48,57)); 

这个函数是产生随机字符,看见里面的数字没有,它就是要产生字符键盘码的范畴,原来的是
mt_rand(65,90),这个65到90是大写字母A到Z的键盘码。
现在修改为 48,57 表示0到9的键盘码:mt_rand(48,57)。
 
按照这个理论,估计能产生中文吧。
 
还有这个文件里面的
$bgcolor = ImageColorAllocate($im, 248,212,20);
$black = ImageColorAllocate($im, 0,0,0);
 
是设定生成图片的背景颜色和文字颜色的。三个数字表示 颜色的 红,绿,蓝色值。范畴为0到255,
比如
0,0,0 ? 表示 黑色,
255,0,0 表示纯红,
0,255,0 表示纯绿,
0,0,255 表示纯蓝。
255.255.255 表示白。
 
修改成统一字体

for($i=0;$i<$rndcodelen;$i++) 

?? ?imagestring($im, mt_rand(2,5), $i*10+6, mt_rand(2,5), $rndstring[$i], $black); 

改成

for($i=0;$i<$rndcodelen;$i++) 

?? ?imagestring($im, 3, $i*10+6, mt_rand(2,5), $rndstring[$i], $black); 

也就是 imagestring里面第二个参数,修改它为1到5之间的固定数字,这里我觉得修改成3比较漂亮。
 
参数说明:

int imagestring ( resource image, int font, int x, int y, string s, int col) 
  
imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 座标处 图像的左上角为 0, 0。假如 font 是 1,2,3,4 或 5,则使用内置字体。 
假如不想让他上下参差,就把坐标y改成固定值3就行了,也就是把 mt_rand(2,5)改成3
验证码为数字加小写字母组合方式的实现
//获取随机字符

$rndstring = ""; 
for($i=0;$i<2;$i++){ 
?? ?$rndstring .= chr(mt_rand(48,57)); 
?? ?$rndstring .= chr(mt_rand(97,122)); 

这样就可以实现数字+小写字母了。
仅供参考。

标签: dedecms
免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

织梦dedecms网站授权收费太高想换程序的解决办法

织梦dedecms开源系统官方网站宣布要收费了,授权费5800元。这条消息引起了国内各中小企业站长的热议,在各大站长群刷屏了。织梦cms对所有商用的个人、企业,统一收取5800元的商业授权费。织梦CM...

织梦CMS(DedeCMS) 开始收费了,一个网站授权费5800元!

织梦cms(dedecms) 开始收费了,一个网站授权费5800元!近日,织梦CMS (DedeCMS) 发布了关于商业使用授权的通告。通告称:根据 DedeCMS 授权协议,除个人非营利网站外,均需...

dedecms在首页调用会员信息(会员头像和名字等)

dedecms在首页调用会员信息 会员头像和名字等可以通过以下sql语句实现 需要调用其他字段可随意扩展:<span style="font-size:14px;"><span st...

织梦dedecms在模板页面中实现会员登录退出状态显示

织梦dedecms在模板页面中实现会员登录退出状态显示很多会员朋友在制作带会员中心的模板文件时候,当我们点击登录后,织梦默认是跳转到会员中心的,但在我们返回网站主页时,发现header没有显示会员登录...

织梦CMS转换其它CMS程序的方法【CMS通用转换方法】

织梦cms一张公告发出,根据dedecms授权协议,除个人非营利网站外,均需购买dedecms商业使用授权,授权费为人民币5800元。一则通知让开源10年之久的织梦也要开始步入版权收费的模式,这就导致...

织梦dedecms使用Mysql8.0无法登录后台的解决办法

织梦dedecms使用Mysql8.0无法登录后台的解决办法今天一个客户联系我们的技术,反馈说安装之后,但是登录后台,一直提示用户名不存在。通常这个原因有两个 1、数据库链接信息不对  2、数据库表中...