Home > Article > Backend Development > Detailed steps to generate irregular verification code images using PHP and GD library
Detailed steps for generating irregular verification code images using PHP and GD libraries
1. Introduction
Verification code (CAPTCHA) is a technology used to distinguish machines and humans. It is often used to prevent malicious programs from automating website attacks, spam, and malicious registrations. Generating irregular verification code images can increase the complexity of the verification code and improve security. This article will introduce the detailed steps on how to use PHP and GD library to generate irregular verification code images, and provide relevant code examples.
2. Preparation
3. Generate verification code images
The following are the detailed steps for generating irregular verification code images:
Create a blank image and set the background color .
$imageWidth = 150; $imageHeight = 50; $image = imagecreatetruecolor($imageWidth, $imageHeight); $backgroundColor = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $backgroundColor);
Generate a random verification code string.
$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $length = 6; $code = ''; for ($i = 0; $i < $length; $i++) { $code .= $characters[rand(0, strlen($characters) - 1)]; }
Draw the verification code string on the picture.
$font = 'arial.ttf'; $fontSize = 20; $fontColor = imagecolorallocate($image, 0, 0, 0); imagettftext($image, $fontSize, 0, 10, 30, $fontColor, $font, $code);
Add random distracting lines.
$lineColor = imagecolorallocate($image, 128, 128, 128); for ($i = 0; $i < 5; $i++) { imageline($image, rand(0, $imageWidth), rand(0, $imageHeight), rand(0, $imageWidth), rand(0, $imageHeight), $lineColor); }
Add random noise.
$pixelColor = imagecolorallocate($image, 0, 0, 0); for ($i = 0; $i < 50; $i++) { imagesetpixel($image, rand(0, $imageWidth), rand(0, $imageHeight), $pixelColor); }
Output the image and destroy the image resource.
header('Content-Type: image/png'); imagepng($image); imagedestroy($image);
4. Front-end usage
Use the img tag in HTML to display the verification code image on the front-end page.
<img src="captcha.php" alt="验证码">
5. Summary
This article details the steps to generate irregular verification code images using PHP and GD libraries, and provides corresponding code examples. The complexity and security of the verification code can be increased through techniques such as customizing background colors, verification code strings, interference lines, and noise points. The verification code image generated using this method can effectively prevent robot and malicious attacks. I hope this article can help readers better understand how to generate irregular verification code images and apply them to actual projects.
The above is the detailed content of Detailed steps to generate irregular verification code images using PHP and GD library. For more information, please follow other related articles on the PHP Chinese website!