源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PHP实现变色验证码实例

  • 时间:2021-07-30 01:06 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP实现变色验证码实例
[u]复制代码[/u] 代码如下:
<?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'); //字体文件 (PS:T不错的php Q扣峮:276167802,验证:csl) $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); ?>
验证码中的字符并不是同一种颜色,让用户输入指定颜色的验证码,这样安全性会更好的。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部