下面是根据一些大神写的验证码,然后按自己爱好修改出来的,有什么缺点请多多指教。
<?php session_start(); $session = "" ; //文件头... header( "Content-type: image/png" ); //创建真彩色白纸 $im = @imagecreatetruecolor(50, 20) or die ( "建立图像失败" ); //获取背景颜色 $background_color = imagecolorallocate( $im , 255, 255, 255); //填充背景颜色(这个东西类似油桶) imagefill( $im ,0,0, $background_color ); //获取边框颜色 $border_color = imagecolorallocate( $im ,200,200,200); //画矩形,边框颜色200,200,200 imagerectangle( $im ,0,0,49,19, $border_color ); //逐行炫耀背景,全屏用1或0 for ( $i =2; $i <18; $i ++){ //获取随机淡色 $line_color = imagecolorallocate( $im ,rand(200,255),rand(200,255),rand(200,255)); //画线 imageline( $im ,2, $i ,47, $i , $line_color ); } //设置字体大小 $font_size =12; //随机文字方法---------》Qzm function qwe(){ //设置印上去的文字---------》Qzm $SteQ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" . "abcdefghijklmnopqrstuvwxyz" . "01234567891234567890123456" ; $randnum =rand(0, strlen ( $SteQ )); return $SteQ [ $randnum ]; } //写入随机字串 for ( $i =0; $i <4; $i ++){ //获得文字 $qwe =qwe(); $session .= $qwe ; //获取随机较深颜色 $text_color = imagecolorallocate( $im ,rand(50,180),rand(50,180),rand(50,180)); //画文字 imagechar( $im , $font_size ,12* $i +2,rand(0,5), $qwe , $text_color ); } //判断源 /*if(isset($_SERVER['HTTP_REFERER'])){ if($_SERVER['HTTP_REFERER']!="源"){*/ $_SESSION [ 'cheak' ]=md5( strtolower ( $session )); //显示图片 imagepng( $im ); /* } }*/ //销毁图片 imagedestroy( $im ); ?> |
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦