Heim Backend-Entwicklung PHP-Tutorial PHP-Entwicklung: So implementieren Sie die Bildverifizierungscodefunktion

PHP-Entwicklung: So implementieren Sie die Bildverifizierungscodefunktion

Sep 20, 2023 pm 04:00 PM
php开发 实现功能 图片验证码

PHP-Entwicklung: So implementieren Sie die Bildverifizierungscodefunktion

PHP-Entwicklung: So implementieren Sie die Bildverifizierungscode-Funktion

Um Roboter oder böswillige Angriffe zu verhindern, ist es bei der WEB-Entwicklung häufig erforderlich, Verifizierungscodes zu verwenden, um die Identität des Benutzers zu überprüfen. Unter diesen ist der Bildbestätigungscode eine gängige Art von Bestätigungscode, mit dem Benutzer nicht nur effektiv identifiziert, sondern auch die Benutzererfahrung verbessert werden können. In diesem Artikel wird erläutert, wie Sie PHP zur Implementierung der Bildüberprüfungscodefunktion verwenden, und es werden spezifische Codebeispiele bereitgestellt.

1. Generieren Sie ein Bestätigungscode-Bild

Zunächst müssen wir ein Bestätigungscode-Bild mit zufälligen Zeichen generieren. PHP stellt die GD-Bibliothek zur einfachen Generierung von Bildern bereit. Das Folgende ist ein Beispiel für eine Funktion, die ein Bestätigungscode-Bild generiert:

function generateCaptchaImage($length = 4, $width = 120, $height = 40, $font = 'path/to/font.ttf'){
    $image = imagecreatetruecolor($width, $height);
    $bgColor = imagecolorallocate($image, 255, 255, 255);
    $textColor = imagecolorallocate($image, 0, 0, 0);
    $code = generateRandomCode($length); // 生成随机验证码

    imagefill($image, 0, 0, $bgColor);
    imagettftext($image, 20, 0, 10, 30, $textColor, $font, $code); // 在图片上写入验证码

    // 添加干扰线
    for ($i = 0; $i < 5; $i++) {
        $color = imagecolorallocate($image, rand(0, 255), rand(0, 255), rand(0, 255));
        imageline($image, rand(0, $width), rand(0, $height), rand(0, $width), rand(0, $height), $color);
    }

    // 输出图像
    header('Content-type: image/png');
    imagepng($image);
    imagedestroy($image);
    
    return $code;
}

function generateRandomCode($length = 4){
    $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
    $code = '';
    
    for ($i = 0; $i < $length; $i++) {
        $code .= $characters[rand(0, strlen($characters) - 1)];
    }
    
    return $code;
}
Nach dem Login kopieren

Die obige Funktion generateCaptchaImage wird verwendet, um ein Bestätigungscode-Bild zu generieren und gibt die Bestätigungscode-Zeichenfolge als Funktionsrückgabewert zurück. generateCaptchaImage用于生成验证码图片,并将验证码字符串作为函数返回值。

二、显示验证码图片与验证用户输入

在要显示验证码的页面中,可以通过<img src="/static/imghw/default1.png" data-src="captcha.php" class="lazy" alt="PHP-Entwicklung: So implementieren Sie die Bildverifizierungscodefunktion" >标签来显示验证码图片,并使用session来保存验证码。

session_start();
$captcha = generateCaptchaImage();
$_SESSION['captcha'] = $captcha;
Nach dem Login kopieren

创建一个验证码输入框和提交按钮:

<form action="verify.php" method="POST">
  <img src="/static/imghw/default1.png"  data-src="captcha.php"  class="lazy" alt="captcha image">
  <input type="text" name="captcha" placeholder="请输入验证码">
  <button type="submit">提交</button>
</form>
Nach dem Login kopieren

验证用户输入的验证码:

session_start();
$captcha = $_SESSION['captcha'];

if(isset($_POST['captcha']) && $_POST['captcha'] == $captcha){
    // 验证成功
    echo "验证码输入正确!";
} else {
    // 验证失败
    echo "验证码输入错误!";
}
Nach dem Login kopieren

三、验证码校验和过期处理

为了增强验证码的安全性,我们还可以添加过期时间和校验码处理。以下是一个增强版的验证码验证示例:

session_start();
if(isset($_POST['captcha']) && isset($_SESSION['captcha'])){
    $captcha = $_SESSION['captcha'];
    $inputCaptcha = $_POST['captcha'];
    
    if(time() - $_SESSION['captcha_time'] > 300){ // 验证码过期时间为5分钟
        echo "验证码已过期,请重新输入!";
        return;
    }

    if(strtolower($inputCaptcha) === strtolower($captcha)){
        echo "验证码输入正确!";
    } else {
        echo "验证码输入错误!";
    }
} else{
    echo "请输入验证码!";
}
Nach dem Login kopieren

在生成验证码时,将当前时间也保存到$_SESSION

2. Zeigen Sie das Bild des Bestätigungscodes an und überprüfen Sie die Benutzereingabe.

Auf der Seite, auf der der Bestätigungscode angezeigt werden soll, können Sie das Bild des Bestätigungscodes über das Tag <img alt="PHP-Entwicklung: So implementieren Sie die Bildverifizierungscodefunktion" > anzeigen und verwenden session< /code>, um den Bestätigungscode zu speichern. <p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>session_start(); $captcha = generateCaptchaImage(); $_SESSION['captcha'] = $captcha; $_SESSION['captcha_time'] = time();</pre><div class="contentsignin">Nach dem Login kopieren</div></div>Erstellen Sie ein Eingabefeld für den Bestätigungscode und eine Schaltfläche zum Senden: <p>rrreee</p>Überprüfen Sie den vom Benutzer eingegebenen Bestätigungscode: <p>rrreee</p>3. Überprüfung des Bestätigungscodes und Ablaufverarbeitung🎜🎜Um die Sicherheit des Bestätigungscodes zu erhöhen, haben wir kann auch Ablaufzeit und Prüfsummenverarbeitung hinzufügen. Das Folgende ist eine erweiterte Version des Verifizierungsbeispiels für den Bestätigungscode: 🎜rrreee🎜Speichern Sie beim Generieren des Bestätigungscodes die aktuelle Zeit unter <code>$_SESSION: 🎜rrreee🎜Der obige Code überprüft die Ablaufzeit und die Verifizierung Nach Überprüfung des Codes werden die entsprechenden Eingabeaufforderungsinformationen ausgegeben. 🎜🎜Zusammenfassung: 🎜🎜Durch die obigen Schritte können wir PHP verwenden, um die Funktion des Bildverifizierungscodes zu implementieren. Zunächst wird ein Verifizierungscodebild mit zufälligen Zeichen generiert und auf der Seite angezeigt. Anschließend wird der vom Benutzer eingegebene Verifizierungscode mit dem auf dem Server gespeicherten Verifizierungscode verglichen, um festzustellen, ob die Eingabe korrekt ist. Um gleichzeitig die Sicherheit des Bestätigungscodes zu erhöhen, können Sie die Ablaufzeit festlegen und die Verarbeitung des Bestätigungscodes hinzufügen. Die Implementierung der Verifizierungscode-Funktion kann bei sensiblen Vorgängen wie der Benutzerregistrierung und -anmeldung verwendet werden, um die Systemsicherheit und das Benutzererlebnis zu verbessern. 🎜🎜Hinweis: Damit der obige Code normal ausgeführt werden kann, müssen Sie sicherstellen, dass die GD-Bibliothek korrekt installiert wurde. 🎜

Das obige ist der detaillierte Inhalt vonPHP-Entwicklung: So implementieren Sie die Bildverifizierungscodefunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was soll ich tun, wenn Google Chrome das Bild des Bestätigungscodes nicht anzeigt? Der Chrome-Browser zeigt den Bestätigungscode nicht an? Was soll ich tun, wenn Google Chrome das Bild des Bestätigungscodes nicht anzeigt? Der Chrome-Browser zeigt den Bestätigungscode nicht an? Mar 13, 2024 pm 08:55 PM

Was soll ich tun, wenn Google Chrome das Bild des Bestätigungscodes nicht anzeigt? Manchmal benötigen Sie einen Bestätigungscode, um sich mit Google Chrome auf einer Webseite anzumelden. Einige Nutzer stellen fest, dass Google Chrome den Inhalt des Bildes bei Verwendung von Bildbestätigungscodes nicht richtig anzeigen kann. Was soll getan werden? Der folgende Editor erklärt, wie man damit umgeht, dass der Google Chrome-Bestätigungscode nicht angezeigt wird. Ich hoffe, dass er für alle hilfreich ist. Einführung in die Methode: 1. Rufen Sie die Software auf, klicken Sie oben rechts auf die Schaltfläche „Mehr“ und wählen Sie zum Aufrufen in der Optionsliste unten „Einstellungen“ aus. 2. Nachdem Sie die neue Benutzeroberfläche aufgerufen haben, klicken Sie links auf die Option „Datenschutzeinstellungen und Sicherheit“. 3. Klicken Sie dann rechts auf „Website-Einstellungen“.

So implementieren Sie Bildverarbeitungsfunktionen mit Laravel So implementieren Sie Bildverarbeitungsfunktionen mit Laravel Nov 04, 2023 pm 12:46 PM

Für die Verwendung von Laravel zur Implementierung von Bildverarbeitungsfunktionen sind spezifische Codebeispiele erforderlich. Mit der Entwicklung des Internets ist die Bildverarbeitung heutzutage zu einem unverzichtbaren Bestandteil der Website-Entwicklung geworden. Laravel ist ein beliebtes PHP-Framework, das uns viele praktische Tools zur Bildverarbeitung bietet. In diesem Artikel wird erläutert, wie Sie mit Laravel Bildverarbeitungsfunktionen implementieren, und es werden spezifische Codebeispiele aufgeführt. Installieren Sie LaravelInterventionImageInterven

Wie verwende ich Memcache in der PHP-Entwicklung? Wie verwende ich Memcache in der PHP-Entwicklung? Nov 07, 2023 pm 12:49 PM

Bei der Webentwicklung müssen wir häufig Caching-Technologie verwenden, um die Leistung und Reaktionsgeschwindigkeit der Website zu verbessern. Memcache ist eine beliebte Caching-Technologie, die jeden Datentyp zwischenspeichern kann und hohe Parallelität und hohe Verfügbarkeit unterstützt. In diesem Artikel wird die Verwendung von Memcache in der PHP-Entwicklung vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Memcache installieren Um Memcache verwenden zu können, müssen wir zunächst die Memcache-Erweiterung auf dem Server installieren. Im CentOS-Betriebssystem können Sie den folgenden Befehl verwenden

Verwenden Sie uniapp, um die Bildrotationsfunktion zu implementieren Verwenden Sie uniapp, um die Bildrotationsfunktion zu implementieren Nov 21, 2023 am 11:58 AM

Verwenden Sie uniapp, um die Bildrotationsfunktion zu implementieren. Bei der Entwicklung mobiler Anwendungen kommt es häufig vor, dass Bilder gedreht werden müssen. Beispielsweise muss der Winkel nach dem Aufnehmen eines Fotos angepasst werden oder ein Effekt ähnlich der Drehung einer Kamera nach dem Aufnehmen ein Foto entsteht. In diesem Artikel wird die Verwendung des Uniapp-Frameworks zum Implementieren der Bildrotationsfunktion vorgestellt und spezifische Codebeispiele bereitgestellt. uniapp ist ein plattformübergreifendes Entwicklungsframework auf Basis von Vue.js, das gleichzeitig Anwendungen für iOS, Android, H5 und andere Plattformen entwickeln und veröffentlichen kann. In Uniapp implementiert

Wie registriere ich mich für die Hotcoin Global-Börse? Wie lade ich die offizielle Website-Registrierungsanleitung von Hotcoin Global herunter? Wie registriere ich mich für die Hotcoin Global-Börse? Wie lade ich die offizielle Website-Registrierungsanleitung von Hotcoin Global herunter? Aug 16, 2024 pm 05:18 PM

So registrieren Sie sich für HotcoinGlobal Exchange: Besuchen Sie die offizielle Website: https://www.hotcoin.global/ Wählen Sie die Registrierungsmethode: E-Mail oder Mobiltelefonnummer. Geben Sie die Registrierungsinformationen ein (E-Mail- oder Mobiltelefonnummer, Passwort, Bestätigungscode). Stimmen Sie zu zur Nutzungsvereinbarung und erhalten Sie den Bestätigungscode. Geben Sie den Bestätigungscode ein, um die Registrierung abzuschließen

Node.js-Entwicklung: So implementieren Sie Benutzerrechteverwaltungsfunktionen Node.js-Entwicklung: So implementieren Sie Benutzerrechteverwaltungsfunktionen Nov 08, 2023 am 09:17 AM

Titel: Node.js-Entwicklung: Implementierung der Benutzerrechteverwaltungsfunktion und Codebeispiele Zusammenfassung: Da die Komplexität von Webanwendungen und -systemen weiter zunimmt, ist die Benutzerrechteverwaltung zu einer wichtigen Funktion geworden, die nicht ignoriert werden kann. In diesem Artikel wird erläutert, wie Benutzerrechteverwaltungsfunktionen in der Node.js-Entwicklung implementiert werden, und es werden spezifische Codebeispiele gegeben. Einführung: Als effiziente und leichte Entwicklungsplattform verfügt Node.js über ein breites Spektrum an Anwendungsszenarien. Bei der Entwicklung vieler Node.js-Anwendungen ist die Benutzerrechteverwaltung oft eine wesentliche Funktion.

Wie implementiert man Versionskontrolle und Code-Zusammenarbeit in der PHP-Entwicklung? Wie implementiert man Versionskontrolle und Code-Zusammenarbeit in der PHP-Entwicklung? Nov 02, 2023 pm 01:35 PM

Wie implementiert man Versionskontrolle und Code-Zusammenarbeit in der PHP-Entwicklung? Mit der rasanten Entwicklung der Internet- und Softwareindustrie sind Versionskontrolle und Code-Zusammenarbeit in der Softwareentwicklung immer wichtiger geworden. Unabhängig davon, ob Sie ein unabhängiger Entwickler oder ein Entwicklungsteam sind, benötigen Sie ein effektives Versionskontrollsystem, um Codeänderungen zu verwalten und zusammenzuarbeiten. Bei der PHP-Entwicklung stehen mehrere häufig verwendete Versionskontrollsysteme zur Auswahl, beispielsweise Git und SVN. In diesem Artikel wird erläutert, wie Sie diese Tools zur Versionskontrolle und Code-Zusammenarbeit in der PHP-Entwicklung verwenden. Der erste Schritt besteht darin, das für Sie passende auszuwählen

Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Apr 03, 2025 am 12:04 AM

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

See all articles