Maison > développement back-end > tutoriel php > php绘图当用之验证码

php绘图当用之验证码

WBOY
Libérer: 2016-06-13 12:16:32
original
885 Les gens l'ont consulté

php绘图应用之验证码

在绘图里面,就像之前所说的,php的绘图是真正动态绘图,虽然自己承认会出的图是很不好看的,但我们主要关注的应该还是数据处理。

验证码我们几乎无处不见,它的产生和绘图技术是密不可分的,其实,简单的验证码绘制出来是很简单的,就像下面的一段代码就可以绘制出包含字母和数字的元素:

<?php $checkCode="";	for($i=0; $i<=3;$i++){		$checkCode.=dechex(rand(1,15));	}	session_start();	$_SESSION[&#39;checkCode&#39;]=$checkCode;	//建立画布	$img_1=imagecreatetruecolor(110, 30);	$red=imagecolorallocate($img_1, 255, 0, 0);	imagestring($img_1, 5, 0, 0, $checkCode, $red);	header("Content-type: image/png");	imagepng($img_1);	imagedestroy($img_1);?>
Copier après la connexion

上面的代码只是简单的说了一下验证码的绘制,其实代码方面并没有进行安全处理。

下面是相对的把验证码处理的相对复杂了一些:

<?php $checkCode="";	for($i=0; $i<=3;$i++){		$checkCode.=dechex(rand(1,15));	}	session_start();	$_SESSION[&#39;checkCode&#39;]=$checkCode;	//建立画布	$img_1=imagecreatetruecolor(70, 40);	//必须是先创建画布,在创建颜色。	$red=imagecolorallocate($img_1, rand(0,255), rand(0,255), rand(0,255));	for($k=0; $k<=20; $k++){		imageline($img_1, rand(0,50),rand(0,30),0,0,0,0, imagecolorallocate($img_1, rand(0,255), rand(0,255), rand(0,255)));	}	imagestring($img_1, rand(3,7), rand(0,40), rand(0,20), $checkCode, $red);	header("Content-type: image/png");	imagepng($img_1);	imagedestroy($img_1);?>
Copier après la connexion


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal