Ein Artikel, der ausführlich erklärt, wie man einen zufälligen Bestätigungscode in PHP festlegt

PHPz
Freigeben: 2023-04-11 13:56:01
Original
1596 Leute haben es durchsucht

Zufällige Bestätigungscodes werden häufig bei den Registrierungs-, Anmelde- und Passwortabruffunktionen vieler Websites verwendet. Es kann böswillige Angriffe und Roboterangriffe wirksam verhindern und so die Sicherheit der Website erhöhen. Als beliebte Server-Skriptsprache kann PHP problemlos zufällige Verifizierungscodes implementieren.

Im Folgenden stellen wir Ihnen im Detail vor, wie Sie mit PHP zufällige Bestätigungscodes generieren.

  1. Eine Zufallszahl generieren

Zuerst müssen wir eine Zufallszahl generieren. Dies kann mit der Rand-Funktion in PHP erreicht werden. Die Rand-Funktion akzeptiert zwei Parameter: Startwert und Endwert. Wenn wir beispielsweise eine 6-stellige Zufallszahl generieren möchten, können wir den folgenden Code verwenden:

$code = rand(100000, 999999);
Nach dem Login kopieren

Dadurch wird eine Ganzzahl zwischen 100000 und 999999 generiert.

  1. Erstellen Sie das Bild des Bestätigungscodes

Als nächstes müssen wir den Bestätigungscode auf das Bild zeichnen. Wir können Bilder mit der GD-Bibliothek in PHP erstellen.

Zuerst müssen wir ein leeres Bild erstellen:

$image = imagecreate(100, 50);
Nach dem Login kopieren

Dadurch wird ein leeres Bild im Format 100x50 erstellt.

Als nächstes müssen wir die Hintergrundfarbe und die Schriftfarbe des Bildes angeben:

$bg_color = imagecolorallocate($image, 255, 255, 255); // 白色
$text_color = imagecolorallocate($image, 0, 0, 0); // 黑色
Nach dem Login kopieren

Hiermit werden die Hintergrundfarbe bzw. die Schriftfarbe des Bildes angegeben.

Als nächstes können wir die Imagestring-Funktion verwenden, um das Captcha auf dem Bild zu zeichnen:

imagestring($image, 5, 20, 15, $code, $text_color);
Nach dem Login kopieren

Dadurch wird der Captcha-String an Position (20,15) des Bildes gezeichnet.

  1. Geben Sie das Bild des Bestätigungscodes aus

Wir haben das Bild des Bestätigungscodes generiert und müssen es nun an den Browser ausgeben.

Zuerst müssen wir dem Browser mitteilen, dass wir ein Bild ausgeben:

header('Content-Type: image/png');
Nach dem Login kopieren

Als nächstes können wir die imagepng-Funktion verwenden, um das Bild auszugeben:

imagepng($image);
Nach dem Login kopieren

Der vollständige Code lautet wie folgt:

$code = rand(100000, 999999);

$image = imagecreate(100, 50);
$bg_color = imagecolorallocate($image, 255, 255, 255); // 白色
$text_color = imagecolorallocate($image, 0, 0, 0); // 黑色
imagestring($image, 5, 20, 15, $code, $text_color);

header('Content-Type: image/png');
imagepng($image);
Nach dem Login kopieren

Das Obige Der Code generiert ein 6-A-Zufallszahlen-Verifizierungscodebild und gibt es an den Browser aus.

  1. Bestätigungscode auf Webseite verwenden

Zuletzt müssen wir das generierte Bild des Bestätigungscodes in die Webseite einbetten.

Sie können das Bestätigungscode-Bild über den folgenden Code anzeigen:

<img src="captcha.php" />
Nach dem Login kopieren

Dadurch wird ein Bestätigungscode-Bild auf der Webseite angezeigt, wobei captcha.php der Name der PHP-Datei ist, die das Bestätigungscode-Bild generiert.

Wenn der Benutzer den Bestätigungscode ausfüllt und das Formular absendet, müssen wir überprüfen, ob der vom Benutzer eingegebene Bestätigungscode korrekt ist. Dies kann mit dem folgenden Code überprüft werden:

session_start();

if (isset($_POST['code']) && $_POST['code'] == $_SESSION['code']) {
    // 验证码正确,继续执行
} else {
    // 验证码错误,给出错误提示
}
Nach dem Login kopieren

Dadurch wird überprüft, ob das übermittelte Formular einen Parameter namens Code enthält, und dieser wird mit dem in der Sitzung gespeicherten Bestätigungscode verglichen. Wenn der eingegebene Bestätigungscode mit dem Bestätigungscode in der Sitzung übereinstimmt, darf der Benutzer die entsprechenden Vorgänge fortsetzen, andernfalls wird eine Fehlermeldung ausgegeben.

Zusammenfassung

Die Verwendung von PHP zur Generierung zufälliger Verifizierungscodes ist nicht kompliziert. Sie müssen lediglich die einfache Generierung von Zufallszahlen und die GD-Bibliothek verwenden, um Bilder zu zeichnen. Durch den Einsatz von Verifizierungscodes können die Sicherheit und Zuverlässigkeit der Website effektiv verbessert werden.

Das obige ist der detaillierte Inhalt vonEin Artikel, der ausführlich erklärt, wie man einen zufälligen Bestätigungscode in PHP festlegt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage