请选择 进入手机版 | 继续访问电脑版

 

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14|回复: 2

[织梦教程] 将织梦DEDECMS的验证码改为数字

[复制链接]
个人成绩
14836
14951
5610
主题
帖子
积分

等级头衔

等级:论坛元老

积分成就    金钱 : 29874 枚
   威望 : 31 值
   贡献 : 5578 值
   精华 : 1
   猫币 : 0 枚
   违规 : 0 次
  
广告
永久主机
  
广告
广告申请

建工伟业

最佳新人活跃会员热心会员突出贡献论坛元老

联络方式
发表于 2020-6-13 06:19:45 | 显示全部楼层 |阅读模式
将织梦DEDECMS的验证码改为数字
        有时我感觉要输入字母验证码的话有点麻烦,如果是数学验证码,要方便些,
        因为我们的数学小键盘,于是我就想把织梦的验证码改成数字验证码。
        首先,我们要找到系统的这个验证码文件,经过一番寻找,我发现验证码文件在include\validateimg.php
         
        打开后找到:
        for($i=0;$i
        {
         $rndstring .= chr(mt_rand(65,90));
        }
         
        将它改成:
        for($i=0;$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
        {
        imagestring($im, mt_rand(2,5), $i*10+6, mt_rand(2,5), $rndstring[$i], $black);
        }
         
        改成
        for($i=0;$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
        ?? ?$rndstring .= chr(mt_rand(48,57));
        ?? ?$rndstring .= chr(mt_rand(97,122));
        }
         
        这样就可以实现数字+小写字母了。
个人成绩
15
61
1
主题
帖子
积分

等级头衔

等级:注册会员

积分成就    金钱 : 35 枚
   威望 : 1 值
   贡献 : 0 值
   精华 : 0
   猫币 : 0 枚
   违规 : 0 次
  
广告
永久主机
  
广告
广告申请

建工伟业

最佳新人

联络方式
发表于 2020-6-13 06:24:16 | 显示全部楼层
在哪里跌倒,就在那里多爬一会儿!
回复

使用道具 举报

个人成绩
12
61
1
主题
帖子
积分

等级头衔

等级:注册会员

积分成就    金钱 : 28 枚
   威望 : 0 值
   贡献 : 1 值
   精华 : 0
   猫币 : 0 枚
   违规 : 0 次
  
广告
永久主机
  
广告
广告申请

建工伟业

联络方式
发表于 2020-6-13 06:26:44 | 显示全部楼层
经典,收藏了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|猫先森网络有限公司 ( 琼ICP备19003696号-1 )|网站地图|京公网安备46010502000339号

GMT+8, 2020-7-4 20:56 , Processed in 0.141131 second(s), 44 queries .

Powered by 红包群

© 2018-2020 Comsenz Inc. Designed by Www.Mxswl.Com

注:资源收集于网络,只做学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除,若作商业用途,由于未及时购买和付费发生的侵权行为,与本站无关。
快速回复 返回顶部 返回列表