首页 > 互联资讯 > 技术交流  > 

一款简单精致的PHP验证码实例

为提高网站安全性,登陆采用验证码是必不可少的。
一款简单精致的PHP验证码应运而生!
此验证码简洁美观,源码简单,可以自定义修改样式,是一款不错的验证码。

<?php	//将验证码保存到session里,供全局使用
	session_start();
	$nums = "";
	for($i=0;$i<4;$i++){
		//产生随机数并转换成十六进制
		$nums.=dechex(mt_rand(0,15));
	}
	//将验证码写入session
	$_SESSION['code']=$nums;
	
	//设置验证码长和宽
	$_width = 60;
	$_height = 20;
	//创建一张图片
	$_img = imagecreatetruecolor($_width,$_height);
	//创建一个白色
	$_white = imagecolorallocate($_img,220,250,250);
	//填充背景
	imagefill($_img,0,0,$_white);
	
	//随机画6条线条
	for($i=0;$i<6;$i++){
		$_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
		imageline($_img,mt_rand(0,$_width),mt_rand(0,$_width),mt_rand(0,$_width),mt_rand(0,$_width),$_rnd_color);
	}
	
	//随机画出雪花
	for($i=0;$i<60;$i++){
		imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),"*",imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
	}
	
	//输出验证码
	for($i=0;$i<strlen($_SESSION['code']);$i++){
		imagestring($_img,mt_rand(6,10),$i*$_width/4+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));
	}
	
	//输出和销毁
	header("Content-Type:image/png");
	imagepng($_img);
	imagedestroy($_img);?>


一款简单精致的PHP验证码实例由讯客互联技术交流栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“一款简单精致的PHP验证码实例