如何将dedecms织梦验证码改为数字

更新时间:2022-11-18 21:31:04 来源:未知 作者:青锋建站
  默认dedecms织梦后台登录界面验证码采用字母+数字的形式,那么如何将织梦dedecms的验证码改为数字呢?以下是青锋建站给大家分享的如何将dedecms织梦验证码改为数字的方法。首先,我们要找到系统的这个验证码文件,为/include/validateimg.php

validateimg.php验证码文件说明

控制字符范围
打开后找到:

  1. for($i=0;$i<4;$i++) 
  2. ?? $rndstring .chr(mt_rand(65,90)); 
  3.   
  4. 将它改成: 
  5. for($i=0;$i<4;$i++) 
  6. ?? $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 表示白。
生成字体
修改成统一字体

  1. for($i=0;$i<$rndcodelen;$i++) 
  2. ?? ?imagestring($im, mt_rand(2,5), $i*10+6, mt_rand(2,5), $rndstring[$i], $black); 
改成

  1. for($i=0;$i<$rndcodelen;$i++) 
  2. ?? ?imagestring($im, 3, $i*10+6, mt_rand(2,5), $rndstring[$i], $black); 
也就是 imagestring里面第二个参数,修改它为1到5之间的固定数字,这里我觉得修改成3比较漂亮。
参数说明:

  1. int imagestring ( resource image, int font, int x, int y, string s, int col) 
  2.   
  3. imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 座标处(图像的左上角为 0, 0)。假如 font 是 1,2,3,4 或 5,则使用内置字体。 
假如不想让他上下参差,就把坐标y改成固定值3就行了,也就是把 mt_rand(2,5)改成3

验证码为数字加小写字母组合方式的实现

//获取随机字符

  1. $rndstring = ""
  2. for($i=0;$i<2;$i++){ 
  3. ?? ?$rndstring .chr(mt_rand(48,57)); 
  4. ?? ?$rndstring .chr(mt_rand(97,122)); 
这样就可以实现数字+小写字母了。 仅供参考。
  以上就是青锋建站给大家分享的如何将dedecms织梦验证码改为数字的方法。青锋建站,提供专业的高品质网站制作服务,包括dedecms网站建设服务,SEO,网络营销,PHP开发,网站建设知名品牌,全国接单,专业做优化型网站,为企业构建营销平台。 

转载请注明来源网址:青锋建站-http://www.sjzphp.com/kaifazhe/dedecms/captcha_1520.html

电话 15632335515 | 邮箱 943703539@qq.com | QQ 943703539 | 微信 qingfengjianzhan

Copyright © 2016-2026 青锋建站 版权所有