17站长网

17站长网 首页 CMS dedecms 查看内容

织梦CMS程序的验证码如何改为数字的形式

2023-6-17 17:07| 查看: 1444 |来源: 互联网

为什么要将dedecms验证码改为数字呢,朋友说有时感觉要输入字母验证码的话有点麻烦,如果是数学验证码,要方便些,因为我们的数学小键盘,于是就想把织梦的验证 ...

为什么要将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));

}

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

本文最后更新于 2023-6-17 17:07,某些文章具有时效性,若有错误或已失效,请在网站留言或联系站长:17tui@17tui.com
·END·
站长网微信号:w17tui,关注站长、创业、关注互联网人 - 互联网创业者营销服务中心

免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!

17站长网微信二维码

始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!

扫一扫,关注站长网微信

大家都在看

    热门排行

      最近更新

        返回顶部