Maison > développement back-end > tutoriel php > Un article expliquant en détail comment définir un code de vérification aléatoire en PHP

Un article expliquant en détail comment définir un code de vérification aléatoire en PHP

PHPz
Libérer: 2023-04-11 13:56:01
original
1630 Les gens l'ont consulté

Les codes de vérification aléatoires sont largement utilisés dans les fonctions d'enregistrement, de connexion et de récupération de mot de passe de nombreux sites Web. Il peut prévenir efficacement les attaques malveillantes et les attaques de robots, augmentant ainsi la sécurité du site Web. En tant que langage de script serveur populaire, PHP peut facilement implémenter des codes de vérification aléatoires.

Ci-dessous, nous présenterons en détail comment utiliser PHP pour générer des codes de vérification aléatoires.

  1. Générer un nombre aléatoire

Tout d'abord, nous devons générer un nombre aléatoire. Ceci peut être réalisé en utilisant la fonction rand en PHP. La fonction rand accepte deux paramètres : la valeur de départ et la valeur de fin. Par exemple, si nous voulons générer un nombre aléatoire à 6 chiffres, nous pouvons utiliser le code suivant :

$code = rand(100000, 999999);
Copier après la connexion

Cela générera un entier compris entre 100000 et 999999.

  1. Créez l'image du code de vérification

Ensuite, nous devons dessiner le code de vérification sur l'image. Nous pouvons créer des images en utilisant la bibliothèque GD en PHP.

Tout d'abord, nous devons créer une image vierge :

$image = imagecreate(100, 50);
Copier après la connexion

Cela créera une image vierge de 100x50.

Ensuite, nous devons spécifier la couleur d'arrière-plan et la couleur de police de l'image :

$bg_color = imagecolorallocate($image, 255, 255, 255); // 白色
$text_color = imagecolorallocate($image, 0, 0, 0); // 黑色
Copier après la connexion

Cela spécifiera respectivement la couleur d'arrière-plan et la couleur de police de l'image.

Ensuite, nous pouvons utiliser la fonction imagestring pour dessiner le captcha sur l'image :

imagestring($image, 5, 20, 15, $code, $text_color);
Copier après la connexion

Cela dessinera la chaîne captcha à la position (20,15) de l'image.

  1. Afficher l'image du code de vérification

Nous avons généré l'image du code de vérification et devons maintenant l'afficher dans le navigateur.

Tout d'abord, nous devons dire au navigateur que ce que nous allons afficher est une image :

header('Content-Type: image/png');
Copier après la connexion

Ensuite, nous pouvons utiliser la fonction imagepng pour afficher l'image :

imagepng($image);
Copier après la connexion

Le code complet est le suivant :

$code = rand(100000, 999999);

$image = imagecreate(100, 50);
$bg_color = imagecolorallocate($image, 255, 255, 255); // 白色
$text_color = imagecolorallocate($image, 0, 0, 0); // 黑色
imagestring($image, 5, 20, 15, $code, $text_color);

header('Content-Type: image/png');
imagepng($image);
Copier après la connexion

Ce qui précède Le code générera une image de code de vérification de nombre aléatoire de 6 A et l'affichera dans le navigateur.

  1. Utiliser le code de vérification dans la page Web

Enfin, nous devons intégrer l'image du code de vérification générée dans la page Web.

Vous pouvez afficher l'image du code de vérification via le code suivant :

<img src="captcha.php" />
Copier après la connexion

Cela affichera une image du code de vérification dans la page Web, où captcha.php est le nom du fichier PHP qui génère l'image du code de vérification.

Lorsque l'utilisateur remplit le code de vérification et soumet le formulaire, nous devons vérifier si le code de vérification saisi par l'utilisateur est correct. Cela peut être vérifié avec le code suivant :

session_start();

if (isset($_POST['code']) && $_POST['code'] == $_SESSION['code']) {
    // 验证码正确,继续执行
} else {
    // 验证码错误,给出错误提示
}
Copier après la connexion

Cela vérifiera si le formulaire soumis contient un paramètre nommé code et le comparera avec le code de vérification stocké dans la session. Si le code de vérification saisi est cohérent avec le code de vérification de la session, l'utilisateur est autorisé à continuer à effectuer les opérations associées, sinon un message d'erreur est affiché.

Résumé

Utiliser PHP pour générer des codes de vérification aléatoires n'est pas compliqué. Il vous suffit d'utiliser une simple génération de nombres aléatoires et la bibliothèque GD pour dessiner des images. Grâce à l'utilisation de codes de vérification, la sécurité et la fiabilité du site Web peuvent être efficacement améliorées.

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!

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