Maison  >  Article  >  développement back-end  >  PHP implémente la fonction de code de vérification du site Web

PHP implémente la fonction de code de vérification du site Web

墨辰丷
墨辰丷original
2018-05-25 16:06:532545parcourir

Cet article présente principalement PHP pour implémenter la fonction de code de vérification du site Web. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Le code de vérification est une mesure de sécurité couramment utilisée sur les sites Web, et c'est également une compétence difficile à maîtriser pour les nouveaux webmasters. Je vais vous présenter ici une méthode simple et efficace pour mettre en œuvre un code de vérification.

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'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

Fonction en PHP pour vérifier si la carte d'identité est légale

Comment utiliser Node pour implémenter une vérification d'identité basée sur un jeton

AJAXverifybase de données contenu et afficher la valeur Sur la page

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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