Explication détaillée du code de fonction du code de vérification du site Web à l'aide de PHP

黄舟
Libérer: 2023-03-06 12:28:01
original
2384 Les gens l'ont consulté

Cet article présente principalement la méthode d'utilisation de php pour implémenter la fonction de code de vérification du site Web. Il a une très bonne valeur de référence, jetons-y un œil avec l'éditeur ci-dessous

Le code de vérification est une mesure de sécurité couramment utilisée sur les sites Web, et c'est aussi une compétence difficile à maîtriser pour les nouveaux webmasters. Ici, je vais vous le présenter Une méthode de mise en œuvre du code de vérification simple et efficace.

Avant de commencer

Avant de commencer officiellement, nous devons activer la prise en charge de la bibliothèque graphique gd2 de php (recherchez "php_gd2.dll" dans php.ini, et recherchez "; extension=php_gd2.dll" et supprimez le point-virgule au début de la phrase).

Vous pouvez vous référer à : Comment ouvrir la bibliothèque gd2 de php

Core : img.php

Cette page génère un code de vérification et écrit la valeur correcte Entrez dans la session

Un code de vérification aléatoire à 4 chiffres

$check=rand(1000,9999); 

sera généré Écrivez le code de vérification dans la session

Session_start(); 
$_SESSION["check"] = $check;
Copier après la connexion

Créer une image

$im = imagecreate(80,30);

Le fond de cette image étant noir par défaut, nous devons le remplir de blanc.

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

Utilisez imageline pour tracer au hasard deux lignes pleines

$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);
Copier après la connexion

Dessiner du texte dans des positions aléatoires

$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));
Copier après la connexion

L'image de sortie

Header("Content-type: image/PNG"); 
ImagePNG($img);
Copier après la connexion

se termine, voici le code complet

Copier après la connexion

Interface utilisateur : index.php

Je pense que tout le monde sait comment faire, donc je vais donner le code directement

 <!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>
Copier après la connexion

Le code ci-dessus transmet la valeur saisie par l'utilisateur à "action.php"

Vérifiez : action.php

Cette étape Pour comparer la valeur saisie par l'utilisateur avec la valeur de la session

est égale, la sortie est "correcte"

n'est pas égale, la sortie est "incorrecte"

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


Ce qui précède est l'explication détaillée du code de fonction du code de vérification du site Web utilisant PHP. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn. )!


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal