加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

DEDECMS修改验证码为数字和小写字母组合

发布时间:2020-12-14 03:49:24 所属栏目:Dedecms 来源:网络整理
导读:输入字母验证码,俺觉得特烦,非凡还要输入大写字母。于是找到文件并修改成数字验证码。 修改文件 验证码文件地位 includevalidateimg.php 找到 for($i=0;$i4;$i++) { $rndstring .= chr(mt_rand(65,90)); } 改成 for($i=0;$i4;$i++) { $rndstring .= chr(mt_
输入字母验证码,俺觉得特烦,非凡还要输入大写字母。于是找到文件并修改成数字验证码。
修改文件 验证码文件地位
includevalidateimg.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到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,$rndstring[$i],$black);
}

改成
for($i=0;$i<$rndcodelen;$i++)
{
imagestring($im,3,$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));
}

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读