将织梦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));
}
这样就可以实现数字+小写字母了。
欢迎使用微视媒-源码测试 经验教程 小程序源码 设计资源, 该资源来自用户分享,如果损害了你的权利,请提交站内信由技术处理。
1:此资源为内部分享交流,仅供学习参考借鉴使用,请勿用于其他用途。请以学习技术参考理念为目的使用该资源,如果想商用,请自行联系版权方获取授权后使用。任何未获取授权的商业使用与本站无关,请自行承担相应责任。
2:本站所有资源仅供技术人员研究学习使用,本站不存储任何资源文件!
3:本站信息若非特殊注明均为会员搜集发布,本站不对资源提供任何技术支持,请自行研究学习。
4:本站客服仅对站点使用提供咨询解答,不涉及任何资源内容信息。
5:本站不销售任何资源,我们仅提供技术交流分享服务。
6:如果此资源信息对你的权益造成困扰,请提交站内信由技术处理,我们会及时处理相关信息并且通知相关会员。