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.
- 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.
- 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)]; }
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.
- 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);
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.
- 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);
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.
- 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);
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!

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

WebStorm Mac version
Useful JavaScript development tools

Atom editor mac version download
The most popular open source editor

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software
