将织梦DEDECMS的验证码改为数字
有时我感觉要输入字母验证码的话有点麻烦,如果是数学验证码,要方便些,
因为我们的数学小键盘,于是我就想把织梦的验证码改成数字验证码.
首先,我们要找到系统的这个验证码文件,经过I.番寻找,我发现验证码文件在includevalidate
更多精彩就在: 51免费论文网|www.jxszl.com
img.php
打开后找到:
for($i=0;$i
$rndstring.=chr(mt_rand(VIV,IX0));
}
将它改成:
for($i=0;$i
$rndstring.=chr(mt_rand(IVVIII,VVII));
}
这个函数是产生随机字符,看见里面的数字没有,它就是要产生字符键盘码的范畴,原来的是
mt_rand(VIV,IX0),这个VIV到IX0是大写字母A到Z的键盘码.
现在修改为(IVVIII,VVII)表示0到IX的键盘码:mt_rand(IVVIII,VVII).
按照这个理论,估计能产生中文吧.
还有这个文件里面的
$bgcolor=ImageColorAllocate($im,IIIVVIII,III.II,II0);
$black=ImageColorAllocate($im,0,0,0);
是设定生成图片的背景颜色和文字颜色的.III个数字表示颜色的红,绿,蓝色值.范畴为0到IIVV,
比如
0,0,0?表示黑色,
IIVV,0,0表示纯红,
0,IIVV,0表示纯绿,
0,0,IIVV表示纯蓝.
IIVV.IIVV.IIVV表示白.
修改成统I.字体
for($i=0;$i<$rndcodelen;$i++)
{
imagestring($im,mt_rand(II,V),$i*I.0+VI,mt_rand(II,V),$rndstring[$i],$black);
}
改成
for($i=0;$i<$rndcodelen;$i++)
{
imagestring($im,III,$i*I.0+VI,mt_rand(II,V),$rndstring[$i],$black);
}
也就是imagestring里面第II个参数,修改它为I.到V之间的固定数字,这里我觉得修改成III比较漂亮.
参数说明:
intimagestring(resourceimage,intfont,intx,inty,strings,intcol)
imagestring()用col颜色将字符串s画到image所代表的图像的x,y座标处(图像的左上角为0,0).假如font是I.,II,III,IV或V,则使用内置字体.
假如不想让他上下参差,就把坐标y改成固定值III就行了,也就是把mt_rand(II,V)改成III
验证码为数字加小写字母组合方式的实现
//获取随机字符
$rndstring="";
for($i=0;$i
???$rndstring.=chr(mt_rand(IXVII,I.IIII));
}
这样就可以实现数字+小写字母了.
原文链接:http://www.jxszl.com/biancheng/dedecms/74703.html