Home >Backend Development >PHP Tutorial >PHP implements website verification code function

PHP implements website verification code function

墨辰丷
墨辰丷Original
2018-05-25 16:06:532616browse

This article mainly introduces the function of implementing website verification code in PHP. Interested friends can refer to it. I hope it will be helpful to everyone.

Verification code is a commonly used security measure on websites, and it is also a skill that is difficult for new webmasters to master. Here I will introduce to you a simple and effective verification code implementation method.

Before starting

Before we officially start, we need to turn on php's gd2 graphics library support (search for "php_gd2.dll" in php.ini, and find "; extension=php_gd2.dll" and remove the semicolon at the beginning of the sentence).

You can refer to: How to open the gd2 library of php

Core: img.php

This page generates a verification code and writes the correct value Enter Session

Randomly enter a 4-digit verification code

##$check=rand(1000,9999);

Write the generated verification code into the session

Session_start(); 
$_SESSION["check"] = $check;

Create A picture

$im = imagecreate(80,30);

Since the background of this kind of picture is black by default, we need Fill it with white.

imagefill($im,0,0,ImageColorAllocate($im, 255,255,255));

##Use imageline to randomly draw two solid lines

$y1=rand(0,30); 
$y2=rand(0,30); 
$y3=rand(0,30); 
$y4=rand(0,30); 
imageline($im,0,$y1,70, $y3,000); 
imageline($im,0,$y2,70, $y4,000);

Draw text in random positions

$strx=rand(3,15); 
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,0,1),ImageColorAllocate($img,34,87,100)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,1,1),ImageColorAllocate($img,781,117,78)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,2,1),ImageColorAllocate($img,160,40,40)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,3,1),ImageColorAllocate($img,25,55,10));

Output image

Header("Content-type: image/PNG"); 
ImagePNG($img);

End, the following is the complete code

User interface: index.php

I believe everyone knows how to do it, so I will give the code directly

 <!DOCTYPE html>
<html>
<body>
<form action="action.php" method="post">
<input type="text" name="cikle" placeholder="验证码">
<br>
<img id="cikle" style="-webkit-user-select: none" src="img.php"><input type="submit" value="Submit">
</form> 
</body>
</html>

The above code passes the value entered by the user to "action.php"

Check: action.php

This step is to compare the user input value with the value in the session.

If they are equal, the output will be "correct"

If they are not equal, the output will be "incorrect"

<?php
Session_start(); 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
 if($_SESSION["check"]!=intval($_POST["cikle"])){
 echo "不正确";
 }else{
 echo "正确";
 }
}

The above is the entire content of this article, I hope it will be helpful to everyone's study.


Related recommendations:

Function in PHP to verify whether the ID card is legal

How to use node to implement token-based identity

Verification
##AJAX

Verification

Database content and display the value On page

The above is the detailed content of PHP implements website verification code function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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