魔扣论坛

魔扣源码论坛业务
查看: 41|回复: 2

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

[复制链接]
  • TA的每日心情
    郁闷
    19 小时前
  • 签到天数: 1585 天

    [LV.Master]开坛老将

    8285

    主题

    8511

    帖子

    6万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    276941
    贡献
    26775
    威望
    21207

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2020-6-2 00:19:59 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】
    阿里云ECS

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    将织梦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));
    }

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

    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    0

    主题

    251

    帖子

    502

    积分

    高级魔扣

    Rank: 4

    魔扣币
    251
    贡献
    251
    威望
    0
    发表于 2020-6-2 09:43:03 | 显示全部楼层
    路过的帮顶

    该用户从未签到

    3

    主题

    216

    帖子

    429

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    213
    贡献
    213
    威望
    0
    发表于 2020-6-13 21:02:02 | 显示全部楼层
    强烈支持楼主,感谢魔扣科技分享的精品源码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表