PHP实现变色验证码实例


Posted in PHP onJanuary 06, 2014
<?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扣?n: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); 
?>

验证码中的字符并不是同一种颜色,让用户输入指定颜色的验证码,这样安全性会更好的。
PHP 相关文章推荐
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
浅析php创建者模式
Nov 25 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 PHP
php实现用户登陆简单实例
Apr 04 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 PHP
PHP写API输出的时用echo的原因详解
Apr 28 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
Sep 30 PHP
PHP实现单条sql执行多个数据的insert语句方法
Oct 11 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 PHP
有关于PHP中常见数据类型的汇总分享
Jan 06 #PHP
用php简单实现加减乘除计算器
Jan 06 #PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 #PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 #PHP
php Calender(日历)代码分享
Jan 03 #PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 #PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 #PHP
You might like
国内咖啡文化
2021/03/03 咖啡文化
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
PHP中for循环语句的几种变型
2006/11/26 PHP
用PHP实现图象锐化代码
2007/06/14 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
PHP中的事务使用实例
2015/05/26 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
Angular路由简单学习
2016/12/26 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
python实现顺序表的简单代码
2018/09/28 Python
Python常用特殊方法实例总结
2019/03/22 Python
python热力图实现简单方法
2021/01/29 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
香港通票:Hong Kong Pass
2019/02/26 全球购物
党员学习正风肃纪思想汇报
2014/09/12 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
Python中requests做接口测试的方法
2021/05/30 Python