Der Verifizierungscode (CAPTCHA) ist eine Technologie, die häufig zur Überprüfung der Benutzeridentität verwendet wird, und vermeidet normalerweise die Roboterautomatisierung, indem Benutzer Zeichen oder Bilder in Bildern identifizieren müssen. In diesem Artikel wird im Detail eingeführt, wie Sie über PHP Bestätigungscodebilder generieren und auf der Webseite angezeigt werden.
Zunächst müssen wir eine PHP -Datei mit dem Namen captcha.php erstellen und sicherstellen, dass die Dateierweiterung .php ist.
In PHP -Skripten müssen wir einige Variablen definieren, um die Größe, die Anzahl der Zeichen und mögliche Zeichensätze von Verifizierungscodebildern festzulegen. Hier ist ein Codebeispiel:
$width = 120; // Breite des Verifizierungscodebildes
$height = 40; // Die Höhe des Verifizierungscodebildes
$characters = 4; // Anzahl der Verifizierungscodezeichen
$possibleChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
Als nächstes erstellen wir ein leeres Bild und setzen einige grundlegende Eigenschaften wie Hintergrundfarbe, Textfarbe und Schriftart. Der Code ist wie folgt:
$image = imagecreatetruecolor($width, $height);
$backgroundColor = imagecolorallocate($image, 255, 255, 255); // Hintergrundfarbe:Weiß
$textColor = imagecolorallocate($image, 0, 0, 0); // Textfarbe:Schwarz
imagefill($image, 0, 0, $backgroundColor);
$font = 'path/to/your/font.ttf'; // Schriftart Dateipfad
Jetzt müssen wir zufällig Verifizierungscodezeichen generieren und auf das Bild zeichnen. PHP bietet die Möglichkeit, Zufallsnummern zu generieren, mit denen wir Zeichen aus einem Zeichenarray auswählen können. Hier ist der Beispielcode:
$captcha = '';
for ($i = 0; $i < $characters; $i++) {
$randomChar = $possibleChars[rand(0, strlen($possibleChars) - 1)];
$captcha .= $randomChar;
$x = ($width / $characters) * $i + 10; // Charakterposition
$y = $height / 2 + 15; // Textcenter -Offset
imagettftext($image, 20, 0, $x, $y, $textColor, $font, $randomChar);
}
Für die anschließende Überprüfung müssen wir den generierten Verifizierungscode in die Sitzung von PHP speichern. Das Folgende ist der Code:
session_start();
$_SESSION['captcha'] = $captcha;
Schließlich müssen wir die Informationen zur Bildausgabe -Header festlegen und das Bild des Bestätigungscodes dem Benutzer anzeigen.
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
In den obigen Schritten haben wir ein einfaches Verifizierungscode -System erfolgreich implementiert. Jedes Mal, wenn die Seite aktualisiert wird, wird der Benutzer ein neues Verifizierungscode -Bild angezeigt, wodurch die Möglichkeit verbessert wird, automatisierte Angriffe zu verhindern. In praktischen Anwendungen können Sie den vom Benutzer eingegebenen Überprüfungscode mit dem Speicher in der Sitzung vergleichen, um die Identität des Benutzers zu überprüfen.
Dies ist ein grundlegendes Beispiel für PHP -Verifizierungscode -Implementierung, das Sie entsprechend Ihren Anforderungen weiter erweitern und optimieren können.