Aktueller Standort: Startseite> Neueste Artikel> So verwenden Sie PHP, um Bildüberprüfungscodes zu generieren und zu überprüfen

So verwenden Sie PHP, um Bildüberprüfungscodes zu generieren und zu überprüfen

M66 2025-07-01

PHP erkennt die Erzeugung und Überprüfung von Bildüberprüfungscodes

Während des Website -Entwicklungsprozesses, um automatisierte böswillige Angriffe oder automatische Registrierung zu verhindern, verwenden wir häufig Bildüberprüfungscodes, um dies zu überprüfen. In diesem Artikel wird angezeigt, wie Sie PHP verwenden, um Bildüberprüfungscodes zu generieren und zu überprüfen, und relevante Codebeispiele bereitzustellen.

Bildüberprüfungscode generieren

Der Kern der Generierung von Bildüberprüfungscodes besteht darin, eine zufällige Verifizierungscodezeichenfolge zu generieren und auf das Bild zu zeichnen. Hier ist ein PHP -Code -Beispiel:

 <?php
session_start();

// Bildgröße deklarieren
$image_width = 100;
$image_height = 40;

// Bildressourcen erstellen
$image = imagecreatetruecolor($image_width, $image_height);

// Hintergrundfarbe erzeugen
$bg_color = imagecolorallocate($image, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255));
imagefill($image, 0, 0, $bg_color);

// Generieren Sie den Verifizierungscodezeichenfolge generieren
$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789';
$code = '';
for ($i = 0; $i < 4; $i++) {
    $code .= $chars[mt_rand(0, strlen($chars) - 1)];
}

// Speichern Sie die Verifizierungscodezeichenfolge aufsessionMitte,Zur anschließenden Überprüfung
$_SESSION['captcha'] = $code;

// Verifizierungscode -Text zeichnen
$font_file = 'path_to_your_font.ttf'; // Ersetzen Sie durch Ihren eigenen Schriftart -Dateipfad
$text_color = imagecolorallocate($image, 0, 0, 0); // Textfarbe ist schwarz
imagettftext($image, 20, 0, 10, 30, $text_color, $font_file, $code);

// Ausgabe Bild
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>

Der obige Code erstellt zunächst eine Bildressource mit einer bestimmten Breite und Höhe durch die filecrreatTueColor -Funktion. Als nächstes wird die Hintergrundfarbe durch die ImageColorallocal -Funktion erzeugt und das gesamte Bild wird gefüllt. Schließlich wird die Verifizierungscode -Zeichenfolge unter Verwendung der ImagettFtext -Funktion auf das Bild gezeichnet, und schließlich wird das generierte Bild unter Verwendung der ImagePNG -Funktion ausgegeben.

Überprüfen Sie den Bildüberprüfungscode

Bei der Überprüfung des Bildüberprüfungscodes müssen wir den vom Benutzer eingegebenen Überprüfungscode mit dem in der Sitzung gespeicherten Verifizierungscode vergleichen. Im Folgenden ist ein PHP -Code -Beispiel für die Überprüfung des Verifizierungscodes:

 <?php
session_start();

// Rufen Sie die vom Benutzer eingegebene Bestätigungscode -Zeichenfolge ab
$user_input = $_POST['captcha'];

// Sich retten lassensessionMitte的验证码字符串
$server_code = $_SESSION['captcha'];

// Stellen Sie sicher, dass der vom Benutzer eingegebene Verifizierungscode mit dem gespeicherten Verifizierungscode übereinstimmt
if (strcasecmp($user_input, $server_code) === 0) {
    // Der Verifizierungscode ist korrekt,Führen Sie den entsprechenden Vorgang durch
    echo 'Der Verifizierungscode ist korrekt';
} else {
    // Bestätigungscodefehler,Fordern Sie den Benutzer zum Wiedereintritt auf
    echo 'Bestätigungscodefehler';
}
?>

Der obige Code ermöglicht zuerst die Sitzung, erhält dann den vom Benutzer über das $ _post -Array eingegebenen Bestätigungscode und erhält dann die in der Sitzung in der Sitzung gespeicherte Verifizierungscode -Zeichenfolge über das Array $ _Session. Vergleichen Sie zwei Saiten über die StrCaseCMP -Funktion. Wenn sie übereinstimmen, bedeutet dies, dass der Verifizierungscode korrekt ist und der entsprechende Vorgang durchgeführt werden kann. Wenn sie nicht übereinstimmen, fordert der Verifizierungscode falsch.

Zusammenfassen

In den beiden oben genannten PHP -Codes können wir die Erzeugungs- und Überprüfungsfunktionen von Bildüberprüfungscodes erfolgreich erkennen. Der Code, der den Verifizierungscode generiert, kann als separate Datei wie Captcha.php gespeichert werden, die durch einfaches Zugriff auf die Datei bei Anforderung generiert werden kann. Der Code, der den Verifizierungscode überprüft, kann auf der Verarbeitungsseite der Formulareingabe platziert werden.

In den tatsächlichen Anwendungen können Sie zusätzlich zu den oben genannten Funktionen auch einige Sicherheitsmaßnahmen nach Bedarf hinzufügen, z. B. Hinzufügen von Interferenzleitungen, verschlüsselten Überprüfungscodes usw.