Heim > Backend-Entwicklung > PHP-Tutorial > So integrieren Sie die Verifizierungscode-Verifizierungsfunktion in PHP-Form

So integrieren Sie die Verifizierungscode-Verifizierungsfunktion in PHP-Form

WBOY
Freigeben: 2023-06-24 09:34:01
Original
1648 Leute haben es durchsucht

Mit der rasanten Entwicklung des Internets sind die Registrierung und Anmeldung von Website-Benutzern zu wesentlichen Funktionen geworden. Um jedoch die Sicherheit der Benutzerkonten zu schützen, müssen wir einige Maßnahmen ergreifen, um böswillige Angriffe und Cracking-Verhalten zu verhindern. Unter diesen ist die Verifizierungsfunktion für den Verifizierungscode eine gängige Maßnahme zur Verhinderung von Robotern und Webcrawlern.

Durch die Integration der Bestätigungscode-Verifizierungsfunktion in PHP-Formulare können Roboter und böswillige Angriffe wirksam verhindert und die Sicherheit der Website verbessert werden. Im Folgenden stellen wir vor, wie Sie die Verifizierungsfunktion für den Verifizierungscode in das PHP-Formular integrieren:

Schritt 1: Verifizierungscode generieren

Zuerst müssen wir den Verifizierungscode generieren und ihn für die spätere Verifizierung auf dem Server speichern. Sie können die GD-Bibliothek von PHP verwenden, um Bestätigungscodebilder zu generieren.

Der spezifische Implementierungscode lautet wie folgt:

session_start(); // 开启会话

$length = 4; // 验证码长度
$width = 80; // 验证码宽度
$height = 30; // 验证码高度

$chars = 'abcdefghjklmnpqrstuvwxyz123456789'; // 验证码字符集合
$chars_length = strlen($chars);

$code = '';
for ($i = 0; $i < $length; $i++) {
  $code .= $chars[mt_rand(0, $chars_length - 1)];
}

$_SESSION['code'] = md5($code); // 将验证码保存到会话中

$image = imagecreatetruecolor($width, $height); // 创建画布
$background_color = imagecolorallocate($image, 255, 255, 255); // 设置背景颜色
imagefill($image, 0, 0, $background_color);

$fonts = ['arial.ttf', 'arialbd.ttf', 'ariali.ttf', 'arialbi.ttf']; // 设置字体集合
$font_colors = [
  imagecolorallocate($image, 55, 154, 196),
  imagecolorallocate($image, 250, 89, 84),
  imagecolorallocate($image, 200, 138, 45),
  imagecolorallocate($image, 82, 184, 76)
]; // 设置字体颜色集合

for ($i = 0; $i < $length; $i++) {
  $font = $fonts[mt_rand(0, count($fonts) - 1)];
  $font_color = $font_colors[mt_rand(0, count($font_colors) - 1)];
  imagettftext($image, 18, mt_rand(-30, 30), $width / $length * $i + mt_rand(0, 10), $height / 2 + mt_rand(-5, 5), $font_color, $font, $code[$i]);
}

header('Content-type: image/png'); // 设置验证码图片类型为png
imagepng($image); // 输出验证码图片
imagedestroy($image); // 释放内存
Nach dem Login kopieren

Verwenden Sie den obigen Code, um ein Bestätigungscodebild mit einer Länge von 4 zu generieren und es in der Sitzung zu speichern.

Schritt 2: Den Bestätigungscode anzeigen

Nachdem wir den Bestätigungscode generiert haben, müssen wir den Bestätigungscode im Formular anzeigen und den Benutzer den Bestätigungscode eingeben lassen. Die spezifische Implementierung kann den Bestätigungscode anzeigen, indem sie dem HTML-Formular ein Bild-Tag hinzufügt.

Der spezifische Implementierungscode lautet wie folgt:

<img src="captcha.php" alt="验证码">
<input type="text" name="captcha" required>
Nach dem Login kopieren

In diesem Beispiel wird ein Textfeld mit dem Namen „Captcha“ verwendet, um den vom Benutzer eingegebenen Bestätigungscode zu empfangen und ihn als Pflichtfeld festzulegen.

Schritt 3: Überprüfen Sie den Bestätigungscode

Nachdem der Benutzer das Formular abgeschickt hat, müssen wir mithilfe des PHP-Codes überprüfen, ob der vom Benutzer eingegebene Bestätigungscode korrekt ist. Die spezifische Implementierung kann feststellen, ob der Bestätigungscode korrekt ist, indem sie den in der Sitzung gespeicherten Bestätigungscode liest und ihn mit dem vom Benutzer eingegebenen Bestätigungscode vergleicht.

Der spezifische Implementierungscode lautet wie folgt:

session_start(); // 开启会话

if ($_SESSION['code'] != md5($_POST['captcha'])) {
  echo '验证码错误';
  exit;
}
Nach dem Login kopieren

Bestimmen Sie im obigen Code zunächst, ob der in der Sitzung gespeicherte Bestätigungscode mit dem vom Benutzer eingegebenen Bestätigungscode übereinstimmt. Wenn sie nicht identisch sind, geben Sie „Verification Code Error“ aus und beenden Sie das Programm.

Durch die oben genannten drei Schritte haben wir die Verifizierungsfunktion für den Verifizierungscode erfolgreich integriert und so die Sicherheit der Website verbessert.

Zusammenfassung

Durch die Integration der Bestätigungscode-Verifizierungsfunktion in PHP-Formularen können Roboter und böswillige Angriffe wirksam verhindert und die Sicherheit der Website verbessert werden. In diesem Artikel wird beschrieben, wie Sie mit PHP ein Bestätigungscode-Bild generieren und in der Sitzung speichern. Außerdem wird beschrieben, wie Sie mithilfe von PHP-Code überprüfen, ob der vom Benutzer eingegebene Bestätigungscode korrekt ist. In tatsächlichen Projekten können Entwickler den oben genannten Code entsprechend den spezifischen Anforderungen verbessern, um eine sicherere und effizientere Verifizierungsfunktion für den Verifizierungscode zu erreichen.

Das obige ist der detaillierte Inhalt vonSo integrieren Sie die Verifizierungscode-Verifizierungsfunktion in PHP-Form. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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