So generieren Sie aktualisierbaren Bildverifizierungscode mit PHP

WBOY
Freigeben: 2023-09-13 12:04:02
Original
1016 Leute haben es durchsucht

So generieren Sie aktualisierbaren Bildverifizierungscode mit PHP

So generieren Sie mit PHP einen aktualisierbaren Bildverifizierungscode

Mit der Entwicklung des Internets verwenden viele Websites Verifizierungscodes zur Benutzerverifizierung, um böswillige Angriffe und automatische Maschinenoperationen zu verhindern. Eine gängige Art von Verifizierungscode ist der Bildverifizierungscode, der ein Bild mit zufälligen Zeichen generiert und den Benutzer auffordert, die richtigen Zeichen einzugeben, bevor er fortfahren kann.

In diesem Artikel wird erläutert, wie Sie mit PHP aktualisierbare Bildüberprüfungscodes generieren und spezifische Codebeispiele bereitstellen.

Schritt 1: Erstellen Sie ein Bestätigungscode-Bild

Zuerst müssen wir eine Funktion zum Generieren eines Bestätigungscode-Bildes erstellen. Über die GD-Bibliothek von PHP können wir Bilder einfach bearbeiten. Im Folgenden finden Sie einen Beispielcode zum Erstellen eines Bestätigungscodebilds:

<?php
function generateCaptcha($length = 6) {
    // 生成随机的验证码字符串
    $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    $captcha = '';
    for ($i = 0; $i < $length; $i++) {
        $captcha .= $chars[rand(0, strlen($chars) - 1)];
    }

    // 将验证码字符串保存到Session中,以备后续验证
    session_start();
    $_SESSION['captcha'] = $captcha;

    // 创建一个空白的验证码图片
    $image = imagecreatetruecolor(120, 40);
    $background_color = imagecolorallocate($image, 255, 255, 255);
    imagefill($image, 0, 0, $background_color);

    // 在验证码图片上绘制随机的字符
    $text_color = imagecolorallocate($image, 0, 0, 0);
    imagettftext($image, 20, 0, 10, 30, $text_color, 'path/to/font.ttf', $captcha);

    // 输出验证码图片
    header('Content-type: image/png');
    imagepng($image);
    imagedestroy($image);
}
?>
Nach dem Login kopieren

Im obigen Code wird die Funktion generateCaptcha verwendet, um einen Bestätigungscode zu generieren und die Bestätigungscodezeichenfolge in der Sitzung zu speichern. Erstellen Sie dann ein leeres Bild für den Bestätigungscode, legen Sie Hintergrundfarbe, Textfarbe, Schriftart und andere Parameter fest und zeichnen Sie den Bestätigungscode auf das Bild. Stellen Sie abschließend den Ausgabeinhaltstyp über die Funktion header auf „Bild“ ein, rufen Sie die Funktion „imagepng“ auf, um das Bild auszugeben, und zerstören Sie dann die Bildressource. generateCaptcha函数用于生成验证码,并将验证码字符串保存到Session中。然后,创建一个空白的验证码图片,设置背景色、文本颜色、字体等参数,并在图片上绘制验证码。最后,通过header函数设置输出的内容类型为图片,调用imagepng函数输出图片,然后销毁图片资源。

步骤二:使用验证码图片

下面是一个简单的示例代码,用于在网页中显示验证码图片并接受用户输入的验证码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>生成验证码</title>
</head>
<body>
    <form action="verify_captcha.php" method="post">
        <label for="captcha">请输入验证码:</label>
        <input type="text" id="captcha" name="captcha">
        <img src="captcha.php" alt="验证码">
        <button type="submit">提交</button>
    </form>
</body>
</html>
Nach dem Login kopieren

在上述代码中,form表单的action属性指向一个验证验证码的PHP文件(如verify_captcha.php),img标签的src属性指向生成验证码图片的PHP文件(如captcha.php)。用户在输入框中输入验证码后,提交表单并进行验证。

步骤三:验证输入的验证码

最后,我们需要创建一个用于验证用户输入的验证码是否正确的PHP文件。以下是一个简单的验证验证码的示例代码:

<?php
session_start();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $inputCaptcha = $_POST['captcha'];
    $captcha = $_SESSION['captcha'];

    if ($inputCaptcha === $captcha) {
        echo '验证码正确';
    } else {
        echo '验证码错误';
    }
}
?>
Nach dem Login kopieren

在上述代码中,首先通过session_start

Schritt 2: Verwenden Sie das Bestätigungscode-Bild

Das Folgende ist ein einfacher Beispielcode zum Anzeigen des Bestätigungscode-Bildes auf der Webseite und zum Akzeptieren des vom Benutzer eingegebenen Bestätigungscodes: 🎜rrreee🎜Im obigen Code form Das <code>action-Attribut des code>-Formulars verweist auf eine PHP-Datei, die den Verifizierungscode (z. B. verify_captcha.php) und den srcimg-Tags Das /code>-Attribut verweist auf die PHP-Datei, die das Bestätigungscodebild generiert (z. B. captcha.php). Nachdem der Benutzer den Bestätigungscode in das Eingabefeld eingegeben hat, wird das Formular gesendet und überprüft. 🎜🎜Schritt 3: Überprüfen Sie den eingegebenen Bestätigungscode🎜🎜Abschließend müssen wir eine PHP-Datei erstellen, die überprüft, ob der vom Benutzer eingegebene Bestätigungscode korrekt ist. Das Folgende ist ein einfacher Beispielcode zum Überprüfen des Bestätigungscodes: 🎜rrreee🎜Im obigen Code wird die Sitzung zuerst über die Funktion session_start geöffnet und dann der vom Benutzer eingegebene Bestätigungscode und die Überprüfung durchgeführt Der zuvor in der Sitzung gespeicherte Code wird abgerufen. Führen Sie einen Vergleich durch. Wenn sie gleich sind, wird „Bestätigungscode ist korrekt“ ausgegeben. Wenn sie unterschiedlich sind, wird „Bestätigungscode ist falsch“ ausgegeben. 🎜🎜Das Obige sind die Schritte und Codebeispiele für die Verwendung von PHP zum Generieren aktualisierbarer Bildüberprüfungscodes. Auf diese Weise verhindern wir den Betrieb automatisierter Maschinen und erhöhen die Sicherheit unserer Websites und Anwendungen. 🎜

Das obige ist der detaillierte Inhalt vonSo generieren Sie aktualisierbaren Bildverifizierungscode mit PHP. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!