Maison  >  Article  >  développement back-end  >  Explication détaillée du code de fonction du code de vérification du site Web à l'aide de PHP

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

黄舟
黄舟original
2017-03-07 09:48:562364parcourir

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;

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);

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));

L'image de sortie

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

se termine, voici le code complet

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>

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 "正确";
 }
}


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. )!


Déclaration:
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