Heim Backend-Entwicklung PHP-Problem Lassen Sie uns über das Implementierungsprinzip des PHP-Sliding-Verifizierungscodes sprechen

Lassen Sie uns über das Implementierungsprinzip des PHP-Sliding-Verifizierungscodes sprechen

Mar 23, 2023 am 11:12 AM
php

Mit der rasanten Entwicklung des Internets sind Verifizierungscodes zu einem wichtigen Mittel der Internetsicherheit geworden. Unter diesen ist der Schiebeverifizierungscode aufgrund seiner Einfachheit, einfachen Bedienung und hohen Sicherheit in der Praxis weit verbreitet. In diesem Artikel wird das Implementierungsprinzip des PHP-Sliding-Verifizierungscodes vorgestellt.

1. Definition und Anwendung des Gleitverifizierungscodes

Der Gleitverifizierungscode ist eine Form des Verifizierungscodes für die Mensch-Computer-Interaktion. Sein Grundprinzip besteht darin, einen Schieberegler mit bestimmten Bildern oder Grafiken auf der Benutzeroberfläche anzuzeigen Halten Sie den Schieberegler gedrückt und ziehen Sie ihn, bis der Schieberegler mit der entsprechenden Position der zu überprüfenden Verifizierungscodegrafik verbunden ist. Diese Art von Bestätigungscode wird hauptsächlich in Szenarien verwendet, die eine Benutzeridentifizierung erfordern, wie z. B. Werbung, Anmeldung, Registrierung und Kommentare.

2. Das Implementierungsprinzip des PHP-Sliding-Verifizierungscodes

Die Implementierung des PHP-Sliding-Verifizierungscodes ist hauptsächlich in zwei Teile unterteilt: Front-End-Anzeige und Back-End-Verifizierung. Die Front-End-Anzeige wird hauptsächlich durch Front-End-Technologien wie HTML, CSS und JavaScript implementiert, während die Back-End-Verifizierung auf der PHP-Sprache basiert und mithilfe des Sitzungsmechanismus implementiert wird.

  1. Front-End-Code-Implementierung

(1) HTML-Code

Zunächst müssen Sie HTML-Code schreiben, um die Grundstruktur des Bestätigungscodes zu implementieren. Hier ist ein einfaches Beispiel:

<div class="slide-verify">
    <div class="verify-img-box">
        <img src="verify.php" class="verify-img" id="verify-img">
        <div class="verify-btn-box">
            <span class="verify-btn" id="verify-btn"></span>
        </div>
    </div>
    <div class="verify-text">拖动滑块完成验证</div>
</div>
Nach dem Login kopieren

Im obigen HTML-Code ist div.slide-verify der äußere Container des Bestätigungscodes, div.verify-img-box der Container des Bestätigungscodebilds und img.verify- img ist das Bild des Verifizierungscodes, div.verify-btn-box ist der Container des Schiebereglers und span.verify-btn ist der Schieberegler. div.verify-text ist der Eingabeaufforderungstext.

Die folgenden Dateien müssen in HTML eingeführt werden:

<script src="https://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="jquery.ui.touch-punch.js"></script>
<script src="verify.js"></script>
<link rel="stylesheet" href="verify.css">
Nach dem Login kopieren

(2) CSS-Code

Der CSS-Code dient hauptsächlich der Implementierung des Stils und Layouts des Bestätigungscodes. Hier wird nur ein Teil des Codes angegeben:

.slide-verify {
    position: relative;
    width: 300px;
    height: 100px;
}
.verify-img-box {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    margin: auto;
    width: 300px;
    height: 60px;
    border: 1px solid #ddd;
    background-color: #fafafa;
    overflow: hidden;
}
.verify-img {
    display: inline-block;
    width: 300px;
    height: 60px;
}
.verify-btn-box {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    margin: auto;
    width: 38px;
    height: 38px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 50%;
    box-shadow: 0 0 3px #ddd;
    cursor: pointer;
}
.verify-btn {
    display: block;
    width: 36px;
    height: 36px;
    background-color: #34B5E5;
    border-radius: 50%;
}
.verify-text {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 5px;
    font-size: 12px;
}
Nach dem Login kopieren

Unter den oben genannten CSS-Codes geht es hauptsächlich um die Implementierung des Grundstils des Bestätigungscodes, des Stils des Schiebereglers, der Hintergrundfarbe, des Schattens usw.

(3) JavaScript-Code

JavaScript implementiert Benutzerinteraktion und Datenübermittlung. Der Hauptcode lautet wie folgt:

$(function() {
    var startX = 0, 
        distanceX = 0, 
        sliderLeft = 0, 
        sliderWidth = $('#verify-btn').width(),
        complete = false;
    $('#verify-btn').draggable({
        containment: '.verify-img-box',//滑块的移动范围
        axis: 'x',//只能在x轴方向上滑动
        drag: function(event, ui) {//滑块拖动过程
            distanceX = ui.position.left - startX;
            ui.position.left = sliderLeft + distanceX;
            //防止滑块越界
            if (ui.position.left <= 0) {
                ui.position.left = 0;
            } else if (ui.position.left >= sliderWidth) {
                ui.position.left = sliderWidth;
            }
        },
        stop: function(event, ui) {//滑块停止拖动
            startX = ui.position.left - 0;
            sliderLeft = ui.position.left - 0;
            //完成验证
            if (sliderLeft >= (sliderWidth - 2)) {//根据自己的需求设定,这里是滑动距离要大于等于(滑块宽度-2)
                complete = true;
                //提交验证
                $.ajax({
                    type: 'POST',
                    url: 'verify.php',
                    data: {
                        verify: 'true'
                    },
                    success: function(msg) {
                        alert(msg);//验证通过,执行相应操作
                    }
                });
            } else {//重置滑块位置
                complete = false;
                $('#verify-btn').animate({left: 0}, 200);
            }
        }
    });
});
Nach dem Login kopieren

Im obigen JavaScript-Code wird die Drag-Funktion der jQuery-UI-Bibliothek hauptsächlich verwendet, um den Drag-Vorgang zu realisieren den Schieberegler und übermittelt über Ajax die Verifizierungsergebnisse.

  1. Backend-Code-Implementierung

Der Hauptcode des Backends lautet wie folgt:

session_start();
define('V_CODE', '1');//验证码标识符
if (isset($_POST['verify']) && $_POST['verify'] === 'true') {//验证操作
    //判断验证码是否正确
    if ($_SESSION[V_CODE] && intval($_SESSION[V_CODE]) === 1) {
        echo '验证通过';
    } else {
        echo '验证失败';
    }
    //验证完毕,清楚验证码
    unset($_SESSION[V_CODE]);
    exit;//结束
}
header('Content-type: image/jpeg');
$im = imagecreate(58, 30);
$bg_color = imagecolorallocate($im, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255));//背景色
$fc_color = imagecolorallocate($im, mt_rand(50, 200), mt_rand(50, 200), mt_rand(50, 200));//字体色
imagefill($im, 0, 0, $bg_color);
$confash_code = rand(1, 9);//验证码字符
$_SESSION[V_CODE] = $confash_code;
imagestring($im, 5, 12, 6, $confash_code, $fc_color);
for ($i = 0; $i < 150; $i++) {//干扰像素
    imagesetpixel($im, mt_rand(0, 58), mt_rand(0, 30), $fc_color);
}
for ($i = 0; $i < 3; $i++) {//干扰线
    imageline($im, mt_rand(0, 58), mt_rand(0, 30), mt_rand(0, 58), mt_rand(0, 30), $fc_color);
}
imagejpeg($im);
imagedestroy($im);
Nach dem Login kopieren

Im obigen Code wird zuerst die Kennung des Bestätigungscodes über den Sitzungsmechanismus aufgezeichnet und dann ein zufälliges Bestätigungscodezeichen generiert Geben Sie den Bestätigungscode code ein und speichern Sie ihn im Array $_SESSION. Im Slider-Verifizierungscode werden die Verifizierungsergebnisse zur Verifizierung durch Ajax an den Hintergrund übermittelt. Wenn die Überprüfung erfolgreich ist, führen Sie den entsprechenden Vorgang aus. Andernfalls wird angezeigt, dass die Überprüfung fehlgeschlagen ist.

3. Zusammenfassung

In diesem Artikel wird kurz das Implementierungsprinzip des PHP-Sliding-Verifizierungscodes vorgestellt, der hauptsächlich in zwei Teile unterteilt ist: Front-End-Anzeige und Back-End-Verifizierung. In der Front-End-Anzeige werden die Grundfunktionen des Slider-Verifizierungscodes über HTML, CSS und JavaScript implementiert; in der Back-End-Verifizierung wird der Verifizierungsvorgang des Verifizierungscodes über PHP und Sitzung implementiert. Beachten Sie, dass in praktischen Anwendungen die Sicherheit und das humanisierte Design weiter gestärkt werden müssen, um ein besseres Benutzererlebnis zu bieten.

Das obige ist der detaillierte Inhalt vonLassen Sie uns über das Implementierungsprinzip des PHP-Sliding-Verifizierungscodes sprechen. 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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen 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)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

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.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

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

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

See all articles