Position actuelle: Accueil> Derniers articles> Comment utiliser PHP pour créer un code de vérification d'image de base et effectuer une vérification du formulaire

Comment utiliser PHP pour créer un code de vérification d'image de base et effectuer une vérification du formulaire

M66 2025-06-23

Utilisez PHP pour implémenter la fonction de code de vérification d'image de base

Les codes de vérification d'image sont largement utilisés dans l'enregistrement du site Web, la connexion, les commentaires et autres scénarios, et sont un moyen important d'améliorer la sécurité des formulaires et de résister aux attaques de scripts automatiques. Cet article vous amènera à implémenter un simple système de code de vérification d'image PHP étape par étape, en vous appuyant sur la bibliothèque graphique GD de PHP pour terminer la génération d'images et combiner le mécanisme de session pour terminer la vérification du code de vérification.

1. Préparation

Avant de commencer, assurez-vous que la bibliothèque GD est activée dans votre environnement de serveur. La bibliothèque GD est un module d'extension en PHP qui traite les images graphiques et est utilisée pour créer des images dynamiquement. Vous pouvez vérifier si l'extension est activée en exécutant phpinfo () .

2. Générer des images de code de vérification

Créez un fichier nommé captcha.php , utilisez la bibliothèque GD pour générer dynamiquement une image avec des nombres aléatoires et stockez la valeur de code de vérification générée en $ _Session pour une vérification ultérieure.

Ce qui suit est le code de la génération d'image du code de vérification:

 
<?php
session_start();

// Générer des codes de vérification à quatre chiffres aléatoires
$code = rand(1000, 9999);

// Stockez le code de vérification dans la session
$_SESSION['captcha_code'] = $code;

// Créer des ressources d&#39;image
$image = imagecreatetruecolor(120, 40);

// Définir la couleur de fond sur blanc
$bg_color = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $bg_color);

// Ajouter des points d&#39;interférence
for ($i = 0; $i < 100; $i++) {
    $point_color = imagecolorallocate($image, rand(0, 255), rand(0, 255), rand(0, 255));
    imagesetpixel($image, rand(0, 120), rand(0, 40), $point_color);
}

// Définir la couleur du texte sur noir
$text_color = imagecolorallocate($image, 0, 0, 0);

// Tire du texte du code de vérification(Assurez-vous que le chemin de la police est correct)
imagettftext($image, 20, 0, 30, 30, $text_color, 'path/to/font.ttf', $code);

// Image de sortie au navigateur
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>

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

Pour intégrer des images de code de vérification dans la page frontale, vous pouvez appeler captcha.php en utilisant la méthode suivante:

 <img src="captcha.php" alt="Le code de vérification">

Il est recommandé d'ajouter des fonctions de rafraîchissement à l'image, telles que cliquer sur l'image pour recharger le code de vérification pour améliorer l'expérience utilisateur.

4. Vérifiez l'entrée de l'utilisateur

Lorsqu'un utilisateur soumet un formulaire, le code de vérification entré par l'utilisateur doit être comparé à la valeur stockée dans la session pour déterminer si l'entrée est correcte. Voici un exemple de code de vérification:

 
<?php
session_start();

if (isset($_POST['captcha'])) {
    $user_input = $_POST['captcha'];

    if ($user_input == $_SESSION['captcha_code']) {
        // La vérification est réussie,Effectuer l&#39;opération correspondante
    } else {
        // Échec de la vérification,Invite à rentrer
    }
}
?>

Cette logique convient à tous les scénarios de formulaire tels que l'enregistrement des utilisateurs, la vérification de connexion, etc. qui nécessitent des opérations de confirmation.

Résumer

Grâce à ce didacticiel, vous avez appris les méthodes de base d'utilisation des bibliothèques PHP et GD pour implémenter le code de vérification d'image. Cette solution est conçue pour générer des images contenant des caractères aléatoires et combine le mécanisme de session pour terminer la vérification côté serveur, qui convient à la plupart des projets de petite et moyenne taille.

Une expansion supplémentaire peut être effectuée sur cette base, par exemple:

  • Ajouter le type de caractère du code de vérification (numéro + lettre)

  • Ajouter des lignes d'interférence graphique

  • Générez dynamiquement la taille et l'angle de la police

  • Ajouter le temps d'expiration du code de vérification, etc.

La conception raisonnable des codes de vérification aide non seulement à prévenir les attaques malveillantes, mais améliore également la sécurité globale du système.