Maison  >  Article  >  développement back-end  >  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
PHPzoriginal
2023-03-29 11:31:111552parcourir

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

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

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); // 黑色

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

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

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

imagepng($image);

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

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" />

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 {
    // 验证码错误,给出错误提示
}

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!

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