Avec l'amélioration de la sensibilisation à la sécurité du réseau, les codes de vérification sont largement utilisés dans les formulaires Web pour prévenir les opérations malveillantes et la soumission automatique. Grâce au code de vérification, il peut identifier efficacement si le fonctionnement de l'utilisateur est un comportement réel. Cet article expliquera en détail comment utiliser PHP pour générer des codes de vérification et les intégrer dans le formulaire pour remplir la vérification.
Le code de vérification est généralement composé d'un ensemble de caractères aléatoires. Ce qui suit est un exemple de code qui génère un code de vérification aléatoire via PHP et le stocke en une session:
<?php session_start(); // Activer Session // Définir la longueur du code de vérification $length = 4; // Définir les caractères disponibles $str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $code = ''; // Générer la chaîne de code de vérification aléatoire for ($i = 0; $i < $length; $i++) { $code .= $str[rand(0, strlen($str) - 1)]; } // SauvegarderSession,Convertir en formulaire de lettre en minuscules $_SESSION['code'] = strtolower($code); ?>
Ensuite, utilisez la bibliothèque GD pour dessiner la chaîne de code de vérification dans une image:
<?php // Définir la taille de l'image du code de vérification $width = 120; $height = 40; // Créer une toile $image = imagecreatetruecolor($width, $height); // Définir les couleurs d'arrière-plan $bgColor = imagecolorallocate($image, 255, 255, 255); imagefilledrectangle($image, 0, 0, $width, $height, $bgColor); // Définir la couleur du texte $textColor = imagecolorallocate($image, 0, 0, 0); // Écrivez une chaîne de code de vérification dans l'image imagettftext($image, 20, 0, 10, 30, $textColor, 'font.ttf', $code); // Sortir des images au navigateur header('Content-type:image/png'); imagepng($image); // Libérer les ressources imagedestroy($image); ?>
Après avoir exécuté le script ci-dessus, une image PNG avec des caractères de code de vérification sera générée.
Ajoutez une boîte d'entrée de code de vérification au formulaire HTML et citez l'image du code de vérification:
Lorsque l'utilisateur soumet un formulaire, le code de vérification correct doit être entré et le script de traitement de formulaire le vérifiera.
Dans le script de traitement de formulaire `handleform.php`, vérifiez le code de vérification entré par l'utilisateur via la session:
<?php session_start(); // Obtenez le code de vérification entré par l'utilisateur et convertissez-le en minuscules $code = strtolower($_POST['code']); $sessionCode = strtolower($_SESSION['code']); // Code de vérification de comparaison if ($code !== $sessionCode) { echo 'Erreur d'entrée du code de vérification'; exit; } // Continuez à traiter d'autres données de formulaire // ... ?>
Si le code de vérification correspond à l'échec, le système invitera un message d'erreur; Si la correspondance réussit, la logique de traitement de formulaire suivante continuera d'être exécutée.
Grâce aux étapes ci-dessus, nous avons implémenté le processus complet d'utilisation de PHP pour générer des chaînes de code de vérification, créer des images de code de vérification et les combiner avec des formulaires de vérification. Cette méthode peut efficacement améliorer la sécurité interactive du site Web et empêcher les formulaires d'être maltraités par des scripts automatiques.
Dans les projets réels, les développeurs peuvent optimiser davantage le style de caractère, les éléments d'interférence de l'image, la taille des polices, etc. du code de vérification, améliorant ainsi les capacités de reconnaissance et de prévention des attaques du code de vérification.