Wie erstelle ich ein Verifizierungscode-Bild mit PHP?
Wie erstelle ich ein Bestätigungscode-Bild mit PHP?
CAPTCHA ist eine häufig verwendete Methode, um zu überprüfen, ob der Benutzer ein Mensch und keine Maschine ist. Auf Websites sehen wir häufig Bilder von Verifizierungscodes, bei denen Benutzer zufällige Zeichen oder Zahlen eingeben müssen, die auf dem Bild angezeigt werden, um Vorgänge wie Anmeldung, Registrierung und Kommentieren abzuschließen. In diesem Artikel wird erläutert, wie Sie mit PHP ein Verifizierungscodebild erstellen, und es werden spezifische Codebeispiele bereitgestellt.
1. PHP GD-Bibliothek
Um ein Bestätigungscode-Bild zu erstellen, müssen wir die GD-Bibliothek von PHP verwenden. Die GD-Bibliothek ist eine Erweiterungsbibliothek für die Bildverarbeitung. Sie stellt eine Reihe von Funktionen zum Erstellen, Bearbeiten und Ausgeben von Bildern bereit. Zunächst müssen wir sicherstellen, dass die GD-Bibliothek auf dem Server aktiviert ist. Sie können die Einstellungen der GD-Bibliothek überprüfen, indem Sie die Funktion phpinfo()
im Code ausführen. phpinfo()
函数来检查GD库的设置情况。
如果GD库已启用,则可以开始创建验证码图片。
二、创建验证码图片
创建验证码图片的主要步骤包括生成随机字符串、创建图片、绘制干扰线和噪点、输出图片。
- 生成随机字符串
首先,我们需要生成一个随机字符串,作为验证码的内容。可以使用mt_rand()
函数生成一个指定长度的随机数字或字母序列,如下所示:
$length = 6; // 验证码长度 $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $code = ''; for ($i = 0; $i < $length; $i++) { $code .= $chars[mt_rand(0, strlen($chars) - 1)]; }
- 创建图片
接下来,我们需要创建一个空白的验证码图片。可以使用imagecreate()
函数创建一个指定宽高的图片,如下所示:
$width = 120; // 图片宽度 $height = 40; // 图片高度 $image = imagecreate($width, $height);
- 设置背景颜色和文字颜色
我们可以使用imagecolorallocate()
函数设置图片的背景和文字颜色,如下所示:
$bg_color = imagecolorallocate($image, 255, 255, 255); // 白色背景 $text_color = imagecolorallocate($image, 0, 0, 0); // 黑色文字
- 绘制文字
使用imagestring()
函数将随机字符串绘制到验证码图片上,如下所示:
$font_size = 18; // 文字大小 $x = ($width - strlen($code) * $font_size) / 2; // 文字起始位置横坐标 $y = ($height - $font_size) / 2; // 文字起始位置纵坐标 imagestring($image, $font_size, $x, $y, $code, $text_color);
- 绘制干扰线和噪点
为了提高验证码的安全性,可以在图片上绘制一些干扰线和噪点。可以使用imagesetpixel()
函数绘制噪点,使用imageline()
函数绘制干扰线。
for ($i = 0; $i < 100; $i++) { $x = mt_rand(0, $width - 1); $y = mt_rand(0, $height - 1); imagesetpixel($image, $x, $y, $text_color); } for ($i = 0; $i < 5; $i++) { $x1 = mt_rand(0, $width / 2); $y1 = mt_rand(0, $height - 1); $x2 = mt_rand($width / 2, $width - 1); $y2 = mt_rand(0, $height - 1); imageline($image, $x1, $y1, $x2, $y2, $text_color); }
- 输出图片
最后,我们需要将验证码图片输出到浏览器。可以使用header()
函数设置图片的Content-Type,并使用imagejpeg()
- 2. Erstellen Sie ein Bestätigungscode-Bild
- Generieren Sie eine zufällige Zeichenfolge
Zuerst müssen wir eine zufällige Zeichenfolge als Inhalt des Bestätigungscodes generieren. Sie können die Funktion mt_rand()
verwenden, um eine zufällige Folge von Zahlen oder Buchstaben einer bestimmten Länge zu generieren, wie unten gezeigt:
header('Content-Type: image/jpeg'); imagejpeg($image);
Erstellen Sie ein Bild
Als nächstes müssen wir ein leeres Bestätigungscode-Bild erstellen. Sie können die Funktionimagecreate()
verwenden, um ein Bild mit einer bestimmten Breite und Höhe zu erstellen, wie unten gezeigt: imagedestroy($image);
- Legen Sie die Hintergrundfarbe und die Textfarbe fest🎜🎜 🎜Wir können die Funktion
imagecolorallocate()
verwenden, um die Hintergrund- und Textfarbe des Bildes festzulegen, wie unten gezeigt: 🎜Nach dem Login kopieren
- 🎜Text zeichnen🎜🎜🎜Verwenden Sie den
imagestring()
-Funktion für Eine zufällige Zeichenfolge wird auf das Verifizierungscodebild gezeichnet, wie unten gezeigt: 🎜rrreee- 🎜Zeichnen Sie Interferenzlinien und Rauschpunkte🎜🎜🎜Um die zu verbessern Zur Sicherheit des Verifizierungscodes können Sie einige Interferenzlinien und Rauschen auf dem Bild zeichnen. Sie können die Funktion
imagesetpixel()
zum Zeichnen von Rauschpunkten und die Funktion imageline()
zum Zeichnen von Interferenzlinien verwenden. 🎜rrreee- 🎜Bild ausgeben🎜🎜🎜Schließlich müssen wir das Bild des Bestätigungscodes an den Browser ausgeben. Sie können die Funktion
header()
verwenden, um den Inhaltstyp des Bildes festzulegen, und die Funktion imagejpeg()
verwenden, um das Bild an den Browser auszugeben. 🎜rrreee🎜🎜Bildressourcen zerstören🎜🎜🎜Denken Sie daran, Bildressourcen nach Abschluss der Bildausgabe zu zerstören, um Serverspeicher zu sparen. 🎜rrreee🎜3. Vollständiges Codebeispiel🎜🎜Das Folgende ist ein vollständiges PHP-Codebeispiel zum Erstellen eines Verifizierungscodebildes: 🎜rrreee🎜Speichern Sie den obigen Code als captcha.php und greifen Sie über einen Browser auf die Datei zu, um das generierte Verifizierungscodebild anzuzeigen . 🎜🎜Zusammenfassung🎜🎜In diesem Artikel wird erläutert, wie Sie mit der GD-Bibliothek und PHP Bilder für Verifizierungscodes erstellen, und es werden spezifische Codebeispiele bereitgestellt. Durch das Verständnis des Prinzips der Generierung von Verifizierungscodebildern können wir eine maßgeschneiderte Entwicklung entsprechend den tatsächlichen Geschäftsanforderungen durchführen und die Sicherheit und Zuverlässigkeit der Benutzerverifizierung verbessern. Ich hoffe, dieser Artikel hilft Ihnen! 🎜Das obige ist der detaillierte Inhalt vonWie erstelle ich ein Verifizierungscode-Bild mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
