• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    将织梦CMS的验证码改为数字
    POST TIME:2020-03-28 17:49

    有时我感觉要输入字母验证码的话有点麻烦,如果是数学验证码,要方便些,因为我们的数学小键盘,于是我就想把织梦的验证码改成数字验证码。

    首先,我们要找到系统的这个验证码文件,经过一番寻找,我发现验证码文件在include alidateimg.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));
    }

    这样就可以实现数字+小写字母了

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!