This article mainly introduces the basic principles of PHP verification code. Interested friends can refer to it. I hope it will be helpful to everyone.
1. Production Ideas
Since registration codes are often used when registering to prevent malicious registration of machines, here I publish a basic image that generates a png image verification code , simple idea analysis:
1. Generate a png picture
2. Set the background color for the picture
3. Set the font color and style
4. Generate a 4-digit number Random verification code
5. Adjust the rotation angle and position of each generated character and draw it on the png image
6. Add noise and interference lines to prevent the registration machine from analyzing the original image for malicious registration
7. Output Picture
8. Release the memory occupied by the picture
2. Implementation method
authcode.php file
<?php session_start (); header ( 'Content-type: image/png' ); //创建图片 $im = imagecreate($x=130,$y=45 ); $bg = imagecolorallocate($im,rand(50,200),rand(0,155),rand(0,155)); //第一次对 imagecolorallocate() 的调用会给基于调色板的图像填充背景色 $fontColor = imageColorAllocate ( $im, 255, 255, 255 ); //字体颜色 $fontstyle = 'rock.ttf'; //字体样式,这个可以从c:\windows\Fonts\文件夹下找到,我把它放到和authcode.php文件同一个目录,这里可以替换其他的字体样式 //产生随机字符 for($i = 0; $i < 4; $i ++) { $randAsciiNumArray = array (rand(48,57),rand(65,90)); $randAsciiNum = $randAsciiNumArray [rand ( 0, 1 )]; $randStr = chr ( $randAsciiNum ); imagettftext($im,30,rand(0,20)-rand(0,25),5+$i*30,rand(30,35),$fontColor,$fontstyle,$randStr); $authcode .= $randStr; } $_SESSION['authcode'] = $randFourStr;//用户和用户输入的验证码做比较 //干扰线 for ($i=0;$i<8;$i++){ $lineColor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imageline ($im,rand(0,$x),0,rand(0,$x),$y,$lineColor); } //干扰点 for ($i=0;$i<250;$i++){ imagesetpixel($im,rand(0,$x),rand(0,$y),$fontColor); } imagepng($im); imagedestroy($im); ?>
Rendering:
Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
PHP function to convert digital amounts into Chinese capital amounts
The composition and type of PHP variables
Tips on using the PHParray_multisort function
The above is the detailed content of Basic principles of php verification code. For more information, please follow other related articles on the PHP Chinese website!