简单四步实现齐博CMS验证码美化教程

作者:匿名 hihi 来源:齐博官方论坛 浏览: 2012-5-3 17:30:58 字号:
[摘要]齐博cms默认的验证码不美观而且还很小,很多站长想修改验证码的显示效果,本文就分享齐博验证码美化教程。

  不知道大家有没有觉得,齐博默认的验证码看着总有点小气,效果不是那么正点。本来想直接参考其他程序的验证码函数重新写一下,但看过代码后发现齐博还有另外一种验证码样式效果。默认是简单,也就是后台验证码开启复杂模式,但换过以后也不是那么好看,线条和喷枪过多,一些眼神不好的人确实不容易分辨,那就在这个验证码的技术上做些修改,换个字体看下效果。

  先看下改过的效果,不喜欢的话就不用看下面啦

  1.INC/waterimage.php 查找"yz2img"函数,并用下面代码替换该函数(主要语句功能已做注释)

function yz2img($ck){ 
$im = imagecreate(65,30);
imagecolorallocate($im,mt_rand(192,255),mt_rand(192,255),mt_rand(192,255));
$icol = imagecolorallocate($im,mt_rand(0,98),mt_rand(0,98),mt_rand(0,98)); //数字颜色
$scol = imagecolorallocate($im,mt_rand(0,98),mt_rand(0,98),mt_rand(0,98)); //字母颜色
for($i=0; $i < 2; $i++) {
//$linecolor = imagecolorallocate($im, 17, 158, 20); //线条
$lefty = rand(1, 30-1);
$righty = rand(1, 30-1);
imageline($im, 0, $lefty, imagesx($im), $righty, $linecolor);
}
for($i=0;$i<strlen($ck);$i++)
intval($ck{$i}) ? imagettftext($im,16, mt_rand(-10, 10), $i*16, mt_rand(15, 30),$icol, dirname(__FILE__).'/elephant.ttf', $ck{$i}) : imagettftext($im,16, mt_rand(-10, 10), $i*16, mt_rand(15, 30),$scol, dirname(__FILE__).'/elephant.ttf', $ck{$i});
//imagettftext($im, 16, -5, 12, 22, $scol, 'comic.ttf', $ck);

for($i=0;$i<15;$i++) imagesetpixel($im,mt_rand(0,65),mt_rand(0,30),imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)));//喷枪
header("Content-type: image/jpeg");
header("Expires: -1");
header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0");
header("Pragma: no-cache");
imagejpeg($im);
imagedestroy($im);
}

  2.上传elephant.ttf字体文件到inc目录下 (字体下载)

  3.增强用户体验,再打开你的注册模版(默认模版为template/reg.htm),在验证码代码后面增加

<a href="javascript:" onclick= "document.getElementById('imageField').src+='$webdb[www_url]/do/yzimg.php?'+Math.random()+'';" >看不清,换一张</a>

(自己可根据页面效果调整改标记的css样式)

  4.后台系统设置---全局参数设置----验证码复杂度设置 修改图片文字辨认复杂度:为复杂

  齐博验证码美化教程完毕。

sssss
Tags: 齐博CMS   验证码美化   齐博CMS教程  
责任编辑:qjt198895
编辑推荐排行