加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现变色验证码实例

发布时间:2020-12-12 20:00:16 所属栏目:PHP教程 来源:网络整理
导读:div class="codetitle" a style="CURSOR: pointer" data="9643" class="copybut" id="copybut9643" onclick="doCopy('code9643')" 代码如下: div class="codebody" id="code9643" ?php header("Content-type: image/png,charset='utf-8'"); $im = imagecreat

<div class="codetitle"><a style="CURSOR: pointer" data="9643" class="copybut" id="copybut9643" onclick="doCopy('code9643')"> 代码如下:<div class="codebody" id="code9643">
<?php
header("Content-type: image/png,charset='utf-8'");
$im = imagecreatetruecolor(400,30);
//白色
$white = imagecolorallocate($im,255,255);
//红色
$red = imagecolorallocate($im,0);
//黑色
$black=imagecolorallocate($im,0);
//绿色
$green=imagecolorallocate($im,0);
//蓝色
$blue=imagecolorallocate($im,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,'utf-8');
//字体文件 (PS:T不错的php Q扣峮:276167802,验证:csl)
$font = 'simkai.ttf';
imagefilledrectangle($im,399,29,$white);
for($i=0;$i<$textlen;$i++)
{
if($i==$p1||$i==$p2)
{
imagettftext($im,15,20*($i-1)+20,20,$color_arr[$color],$font,iconv_substr($text,$i,'utf-8'));
}
else
{
imagettftext($im,$black,'utf-8'));
}
}
imagepng($im);
imagedestroy($im);
?>

验证码中的字符并不是同一种颜色,让用户输入指定颜色的验证码,这样安全性会更好的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读