Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie PHP zur Implementierung von Mensch-Maschine-Verifizierungscode

So implementieren Sie PHP zur Implementierung von Mensch-Maschine-Verifizierungscode

WBOY
WBOYOriginal
2023-06-27 11:58:361600Durchsuche

Der Mensch-Maschine-Verifizierungscode ist eine häufig verwendete Form des Verifizierungscodes, der böswillige Roboterangriffe und böswillige Registrierungen wirksam verhindern kann. Als serverseitige Sprache eignet sich PHP sehr gut für die Implementierung von Mensch-Maschine-Verifizierungscodefunktionen. In diesem Artikel stellen wir vor, wie man mit PHP einen Mensch-Maschine-Verifizierungscode implementiert.

  1. Bestätigungscodebild generieren
    Zuerst müssen wir ein Bestätigungscodebild generieren. Dieser Prozess kann durch die Verwendung der GD-Bibliothek erreicht werden. Die GD-Bibliothek ist eine Open-Source-Bildverarbeitungsbibliothek, mit der verschiedene Arten von Bildern generiert und bearbeitet werden können. In PHP können Sie es verwenden, indem Sie die GD-Erweiterung installieren.

Das Folgende ist ein Codebeispiel zum Generieren eines Verifizierungscodebildes:

<?php
session_start();
$code = rand(1000, 9999);
$_SESSION["code"] = $code;
$width = 100;
$height = 50;
$image = imagecreatetruecolor($width, $height);
$textColor = imagecolorallocate($image, 0, 0, 0); //设置文本颜色
$bgColor = imagecolorallocate($image, 255, 255, 255); //设置背景颜色
imagefilledrectangle($image, 0, 0, $width, $height, $bgColor); //绘制矩形背景

//绘制验证码字符串
$font = 'arial.ttf'; //字体
$fontSize = 24; //字体大小
$x = 20; //x轴位置
$y = 30; //y轴位置
for ($i = 0; $i < 4; $i++) {
    $char = substr(str_shuffle("ABCDEFGHJKMNPQRSTUVWXYZ23456789"), 0, 1);
    imagettftext($image, $fontSize, rand(-15, 15), $x, $y, $textColor, $font, $char);
    $x += 20;
}

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

Dieser Code generiert serverseitig ein Verifizierungscodebild und gibt es zur Anzeige an den Browser aus.

  1. Benutzereingabe überprüfen
    Als nächstes müssen wir überprüfen, ob die Benutzereingabe korrekt ist. Bei der Generierung des Verifizierungscodes haben wir den Verifizierungscode in der Sitzung gespeichert. Daher können wir, nachdem der Benutzer seine Eingabe übermittelt hat, den vom Benutzer eingegebenen Bestätigungscode mit dem in der Sitzung gespeicherten Bestätigungscode vergleichen.

Das Folgende ist ein Codebeispiel zur Überprüfung der Benutzereingabe:

<?php
session_start();
if($_POST["code"] != $_SESSION["code"]) {
    echo "验证码输入错误";
} else {
    echo "验证码输入正确";
}
?>

Dieser Code überprüft, ob der vom Benutzer übermittelte Bestätigungscode mit dem in der Sitzung gespeicherten Bestätigungscode übereinstimmt. Wenn sie nicht identisch sind, wird eine Fehlermeldung ausgegeben. Wenn sie identisch sind, bedeutet dies, dass die Benutzereingabe korrekt ist.

  1. In das Formular eingebettet
    Zuletzt müssen wir den Mensch-Maschine-Verifizierungscode in das Formular einbetten. Um zu verhindern, dass böswillige Angreifer das Formular direkt senden, ohne den Bestätigungscode einzugeben, müssen wir das Skript zur Generierung des Bestätigungscodes und das Formular auf derselben Seite anzeigen und es nach dem Absenden überprüfen.

Das Folgende ist ein Codebeispiel zum Einbetten des Mensch-Maschine-Verifizierungscodes in das Formular:

<form method="post" action="verify.php">
    <p>用户名:</p>
    <input type="text" name="username">
    <p>密码:</p>
    <input type="password" name="password">
    <p>验证码:</p>
    <input type="text" name="code">
    <img src="code.php" alt="验证码">
    <input type="submit" value="提交">
</form>

Dieser Code fügt dem Formular ein Bild hinzu, um den Bestätigungscode anzuzeigen. Benutzer müssen den im Bild gezeigten Bestätigungscode eingeben, um das Formular abzusenden. Nachdem Sie auf die Schaltfläche „Senden“ geklickt haben, springt das Formular zum Code des Verifizierungsskripts und führt die Verifizierung durch.

Zusammenfassung
In diesem Artikel wird die Verwendung von PHP zur Implementierung von Mensch-Maschine-Verifizierungscode vorgestellt. Durch die Generierung eines Verifizierungscode-Bildes und dessen Speicherung in der Sitzung können böswillige Angriffe und Registrierungen wirksam verhindert werden. Durch die Einbettung von Mensch-Maschine-Verifizierungscodes in Formulare können die Website-Sicherheit und das Benutzererlebnis effektiv verbessert werden.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie PHP zur Implementierung von Mensch-Maschine-Verifizierungscode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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