Maison > développement back-end > tutoriel php > 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

墨辰丷
Libérer: 2023-03-28 06:08:01
original
2593 Les gens l'ont consulté

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;
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'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!

É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