How to use PHP to generate responsive verification code images

WBOY
Release: 2023-09-13 10:52:01
Original
698 people have browsed it

How to use PHP to generate responsive verification code images

How to use PHP to generate responsive verification code images

With the rapid development of the Internet, people are paying more and more attention to information security. In order to prevent malicious attackers from performing malicious operations through automated scripts, websites often use verification codes as a means to verify the authenticity of users. CAPTCHA image is a common form of CAPTCHA that generates random images and numeric characters, requiring users to enter based on the characters on the image to verify their identity.

This article will introduce how to use PHP to generate responsive verification code images and provide specific code examples.

  1. Determine the size and character font of the verification code image

To generate the verification code image, you first need to determine the size and font of the image. Generally speaking, the size of the verification code image should be moderate and clear enough but not take up too much page space. When choosing a font, you should choose a font that is clear and easily identifiable.

  1. Generate random characters

Use PHP's random number function to generate random characters and save the generated characters to a variable.

$characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
$randomString = '';
$length = 6;

for ($i = 0; $i < $length; $i++) {
    $randomString .= $characters[rand(0, strlen($characters) - 1)];
}
Copy after login

In the above code, a character set containing letters and numbers is used. Randomly generate 6 characters through a loop and concatenate them into a string.

  1. Create a verification code image

Create a blank verification code image and set the background and border colors.

$image = imagecreatetruecolor(120, 40);
$backgroundColor = imagecolorallocate($image, 255, 255, 255);
$borderColor = imagecolorallocate($image, 0, 0, 0);

imagefilledrectangle($image, 0, 0, 120, 40, $backgroundColor);
imagerectangle($image, 0, 0, 120, 40, $borderColor);
Copy after login

In the above code, use the imagecreatetruecolor() function to create a blank picture of 120x40 pixel size, and use the imagecolorallocate() function to set the background and border color of the picture. Then use imagefilledrectangle() and imagerectangle() to fill the background and border respectively.

  1. Add interference lines and random characters

In order to increase the difficulty of the verification code, we can add some interference lines and random characters to the verification code image.

for ($i = 0; $i < 5; $i++) {
    $lineColor = imagecolorallocate($image, rand(0, 255), rand(0, 255), rand(0, 255));
    imageline($image, rand(0, 120), rand(0, 40), rand(0, 120), rand(0, 40), $lineColor);
}

$fontColor = imagecolorallocate($image, 0, 0, 0);
imagettftext($image, 20, 0, 10, 30, $fontColor, 'path/to/font.ttf', $randomString);
Copy after login

In the above code, random interference lines are generated on the verification code image by looping multiple times. Then, use the imagettftext() function to draw random characters on the verification code image.

  1. Output the image and destroy the resource

After generating the verification code image, you need to output it to the user and destroy the related resources after use.

header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
Copy after login

In the above code, set the output content type to image by setting header('Content-type: image/png'), and use imagepng() The function outputs the verification code image to the client. Finally, use the imagedestroy() function to destroy the image resource.

To sum up, we can easily generate responsive verification code images using PHP. By determining the size and character font of the verification code image, generating random characters, creating the verification code image, adding interference lines and random characters, outputting the image and destroying the resource, we can implement a simple but effective verification code function.

Hope the above content is helpful to you! If you have any questions, please feel free to ask!

The above is the detailed content of How to use PHP to generate responsive verification code images. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template