Position actuelle: Accueil> Derniers articles> [Explication détaillée de la mise en œuvre du code de vérification PHP: générer des images et effectuer la vérification du formulaire]

[Explication détaillée de la mise en œuvre du code de vérification PHP: générer des images et effectuer la vérification du formulaire]

M66 2025-06-15

Explication détaillée de la mise en œuvre du code de vérification PHP: générer des images et effectuer la vérification du formulaire

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.

1. Générer la chaîne de code de 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);
?>

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

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&#39;image du code de vérification
$width = 120;
$height = 40;

// Créer une toile
$image = imagecreatetruecolor($width, $height);

// Définir les couleurs d&#39;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&#39;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.

3. Code de vérification intégré dans le formulaire

Ajoutez une boîte d'entrée de code de vérification au formulaire HTML et citez l'image du code de vérification:

Image de 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.

4. Traitez le formulaire et vérifiez le code de vérification

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&#39;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&#39;entrée du code de vérification';
    exit;
}

// Continuez à traiter d&#39;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.

5. Résumé

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.