欢迎来到鲍余网络官网 官方微信 官方微博 IDC网站
深圳网站建设官方微信

网络之路,从这里开始

热线电话

18576678080 / 0755-85278776

热点资讯
首页 > 热点资讯 > PHP实现验证码变色的方法

PHP实现验证码变色的方法

  • 所属分类: 热点资讯
  • 发布时间:2015-05-25 18:34:41
  • 作者: 鲍余网络
  • 点击量:
PHP实现验证码变色的方法如下
 
header("Content-type: image/png,charset='utf-8'");
$im = imagecreatetruecolor(400, 30);
//白色
$white = imagecolorallocate($im, 255, 255, 255);
//红色
$red = imagecolorallocate($im, 255, 0, 0);
//黑色
$black=imagecolorallocate($im, 0, 0, 0);
//绿色
$green=imagecolorallocate($im, 0, 255, 0);
//蓝色
$blue=imagecolorallocate($im, 0, 0, 255);
$color_arr=array($green,$blue,$red);
$color=array_rand($color_arr);
$text = '我靠这验证码太变态啦';
$textlen=iconv_strlen($text,'utf-8');//计算字符串长度
//随机截取两个字符,变色显示
$p1=rand(1,$textlen)-1;
while(($p2=rand(1,$textlen)-1)==$p1);
$w1=iconv_substr($text,$p1,1,'utf-8');
$w2=iconv_substr($text,$p1,1,'utf-8');
//字体文件
$font = 'simkai.ttf';
imagefilledrectangle($im, 0, 0, 399, 29, $white);
for($i=0;$i<$textlen;$i++)
{
if($i==$p1||$i==$p2)
{
imagettftext($im, 15, 0, 20*($i-1)+20, 20, $color_arr[$color], $font, iconv_substr($text,$i,1,'utf-8'));
}
else
{
imagettftext($im, 15, 0, 20*($i-1)+20, 20, $black, $font, iconv_substr($text,$i,1,'utf-8'));
}
}
imagepng($im);
imagedestroy($im);
?>
 
验证码中的字符并不是同一种颜色,让用户输入指定颜色的验证码,安全性更好。
关键词:

相关文章:

有做网站需求?   联系客服经理 提交需求 直接拨打业务电话:0755-85278776