Maison cadre php PensezPHP Utiliser la technologie Captcha dans ThinkPHP6

Utiliser la technologie Captcha dans ThinkPHP6

Jun 21, 2023 am 09:10 AM
thinkphp 技术 captcha

Avec la popularité d'Internet, la technologie des codes de vérification est devenue une méthode de protection courante pour les sites Web et les applications. Les CAPTCHA peuvent empêcher les robots et robots d'exploration malveillants d'attaquer des sites Web et des applications, garantissant ainsi la sécurité des informations et de la confidentialité des utilisateurs. Dans ThinkPHP6, la technologie Captcha est intégrée et la fonction de code de vérification peut être facilement implémentée grâce à une configuration et un appel simples.

1. Introduction de base à Captcha

Captcha est une technologie de code de vérification d'image. Son principe est de montrer à l'utilisateur une image générée aléatoirement lorsqu'il se connecte ou soumet un formulaire, et lui demande de saisir le code de vérification dans le champ. image. Poursuivez l’opération. Cette technologie peut largement empêcher les attaques malveillantes et les robots automatisés de nuire à un site Web ou à une application. Les technologies Captcha courantes incluent des chiffres, des lettres ou des combinaisons de lettres et de chiffres, des codes de vérification vocale, des codes de vérification coulissants, etc.

2. Utilisez la technologie Captcha intégrée à ThinkPHP6

ThinkPHP6 possède une classe Captcha intégrée, qui peut facilement implémenter la fonction de code de vérification. La technologie Captcha est implémentée sur la base de la bibliothèque GD et du mécanisme de session, et peut générer des images aléatoires de chiffres et de lettres. Avant utilisation, vous devez vous assurer que la bibliothèque GD a été installée et activée sur le serveur.

  1. Paramètres du fichier de configuration

Tout d'abord, nous devons définir la configuration appropriée de Captcha dans le fichier de configuration config/app.php, y compris le nombre de chiffres du code de vérification, la largeur et la hauteur du code de vérification. , etc. La configuration est la suivante :

'captcha'    => [
        // 验证码位数
        'length'   => 4,
        // 验证码图片宽度
        'width'    => 150,
        // 验证码图片高度
        'height'   => 50,
        // 验证码过期时间(秒)
        'expire'   => 1800,
        // 是否使用中文验证码
        'useZh'    => false,
        // 是否使用算术验证码
        'math'     => false,
        // 是否使用背景图
        'useImgBg' => false,
    ],
Copier après la connexion

Dans la configuration ci-dessus, ce qu'il faut noter est :

longueur : le nombre de chiffres du code de vérification, qui peut être défini selon les besoins

largeur et hauteur : la largeur et la hauteur ; de l'image du code de vérification, qui peut être définie selon les besoins ;

expire : Le délai d'expiration du code de vérification, en secondes. Le code de vérification deviendra invalide après le délai défini

useZh : s'il faut utiliser la vérification chinoise ; code ;

math : s'il faut utiliser le code de vérification arithmétique, c'est-à-dire une simple addition et soustraction Opération légale.

useImgBg : que ce soit pour utiliser une image d'arrière-plan, vous pouvez ajouter une image comme arrière-plan du code de vérification.

  1. Écriture du contrôleur

Nous devons appeler la classe Captcha dans le contrôleur pour générer le code de vérification et l'afficher sur la page, et en même temps enregistrer le code de vérification dans la session pour vérifier si la vérification saisie le code est correct. Le code du contrôleur est le suivant :

use thinkcaptchaacadeCaptcha;

class Index extends BaseController
{
    public function captcha()
    {
        return Captcha::create();
    }
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons la méthode d'appel statique de ThinkPHP6 pour générer le code de vérification directement via la méthode Captcha::create(). Le code de vérification généré renverra un flux d'images binaires, que nous pourrons afficher directement à l'aide de la balise

  1. Affichage de la page

Enfin, nous devons utiliser la balise sur la page pour afficher le code de vérification généré, et transmettre le code de vérification au serveur lorsque le formulaire est soumis. Le code est le suivant :

<form action="submit" method="POST">
    <!-- 显示验证码 -->
    <img src="<?php echo url('/index/captcha'); ?>" onclick="this.src=this.src+'?'+Math.random();" />
    <!-- 输入验证码 -->
    <label for="verifyCode">验证码:</label>
    <input type="text" name="verifyCode" />
    <button type="submit">提交</button>
</form>
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction url() pour générer l'adresse URL Captcha et déclencher la régénération du code de vérification via l'événement onclick. Le nom de la zone de saisie du code de vérification doit être cohérent avec le nom du code de vérification traité par le serveur, afin que le serveur puisse obtenir correctement la valeur du code de vérification saisie par l'utilisateur.

3. Résumé

La technologie Captcha est devenue une méthode de protection conventionnelle pour les sites Web et les applications. En utilisant la classe Captcha intégrée dans ThinkPHP6, nous pouvons facilement implémenter la fonction de code de vérification. Avant utilisation, vous devez vous assurer que la bibliothèque GD a été installée et ouverte sur le serveur, et définir les paramètres appropriés pour le fichier de configuration Captcha. Enfin, nous devons afficher le code de vérification sur la page et transmettre la valeur du code de vérification saisie par l'utilisateur au serveur pour vérification lors de la soumission du formulaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment exécuter le projet thinkphp Comment exécuter le projet thinkphp Apr 09, 2024 pm 05:33 PM

Pour exécuter le projet ThinkPHP, vous devez : installer Composer ; utiliser Composer pour créer le projet ; entrer dans le répertoire du projet et exécuter php bin/console serve ; visiter http://localhost:8000 pour afficher la page d'accueil.

Il existe plusieurs versions de thinkphp Il existe plusieurs versions de thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP dispose de plusieurs versions conçues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

Le papier Stable Diffusion 3 est enfin publié, et les détails architecturaux sont révélés. Cela aidera-t-il à reproduire Sora ? Le papier Stable Diffusion 3 est enfin publié, et les détails architecturaux sont révélés. Cela aidera-t-il à reproduire Sora ? Mar 06, 2024 pm 05:34 PM

L'article de StableDiffusion3 est enfin là ! Ce modèle est sorti il ​​y a deux semaines et utilise la même architecture DiT (DiffusionTransformer) que Sora. Il a fait beaucoup de bruit dès sa sortie. Par rapport à la version précédente, la qualité des images générées par StableDiffusion3 a été considérablement améliorée. Il prend désormais en charge les invites multithèmes, et l'effet d'écriture de texte a également été amélioré et les caractères tronqués n'apparaissent plus. StabilityAI a souligné que StableDiffusion3 est une série de modèles avec des tailles de paramètres allant de 800M à 8B. Cette plage de paramètres signifie que le modèle peut être exécuté directement sur de nombreux appareils portables, réduisant ainsi considérablement l'utilisation de l'IA.

Cet article vous suffit pour en savoir plus sur la conduite autonome et la prédiction de trajectoire ! Cet article vous suffit pour en savoir plus sur la conduite autonome et la prédiction de trajectoire ! Feb 28, 2024 pm 07:20 PM

La prédiction de trajectoire joue un rôle important dans la conduite autonome. La prédiction de trajectoire de conduite autonome fait référence à la prédiction de la trajectoire de conduite future du véhicule en analysant diverses données pendant le processus de conduite du véhicule. En tant que module central de la conduite autonome, la qualité de la prédiction de trajectoire est cruciale pour le contrôle de la planification en aval. La tâche de prédiction de trajectoire dispose d'une riche pile technologique et nécessite une connaissance de la perception dynamique/statique de la conduite autonome, des cartes de haute précision, des lignes de voie, des compétences en architecture de réseau neuronal (CNN&GNN&Transformer), etc. Il est très difficile de démarrer ! De nombreux fans espèrent se lancer dans la prédiction de trajectoire le plus tôt possible et éviter les pièges. Aujourd'hui, je vais faire le point sur quelques problèmes courants et des méthodes d'apprentissage introductives pour la prédiction de trajectoire ! Connaissances introductives 1. Existe-t-il un ordre d'entrée pour les épreuves de prévisualisation ? R : Regardez d’abord l’enquête, p

Comment exécuter thinkphp Comment exécuter thinkphp Apr 09, 2024 pm 05:39 PM

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

DualBEV : dépassant largement BEVFormer et BEVDet4D, ouvrez le livre ! DualBEV : dépassant largement BEVFormer et BEVDet4D, ouvrez le livre ! Mar 21, 2024 pm 05:21 PM

Cet article explore le problème de la détection précise d'objets sous différents angles de vue (tels que la perspective et la vue à vol d'oiseau) dans la conduite autonome, en particulier comment transformer efficacement les caractéristiques de l'espace en perspective (PV) en vue à vol d'oiseau (BEV). implémenté via le module Visual Transformation (VT). Les méthodes existantes sont globalement divisées en deux stratégies : la conversion 2D en 3D et la conversion 3D en 2D. Les méthodes 2D vers 3D améliorent les caractéristiques 2D denses en prédisant les probabilités de profondeur, mais l'incertitude inhérente aux prévisions de profondeur, en particulier dans les régions éloignées, peut introduire des inexactitudes. Alors que les méthodes 3D vers 2D utilisent généralement des requêtes 3D pour échantillonner des fonctionnalités 2D et apprendre les poids d'attention de la correspondance entre les fonctionnalités 3D et 2D via un transformateur, ce qui augmente le temps de calcul et de déploiement.

Lequel est le meilleur, Laravel ou thinkphp ? Lequel est le meilleur, Laravel ou thinkphp ? Apr 09, 2024 pm 03:18 PM

Comparaison des performances des frameworks Laravel et ThinkPHP : ThinkPHP fonctionne généralement mieux que Laravel, en se concentrant sur l'optimisation et la mise en cache. Laravel fonctionne bien, mais pour les applications complexes, ThinkPHP peut être mieux adapté.

Comment installer thinkphp Comment installer thinkphp Apr 09, 2024 pm 05:42 PM

Étapes d'installation de ThinkPHP : Préparez les environnements PHP, Composer et MySQL. Créez des projets à l'aide de Composer. Installez le framework ThinkPHP et ses dépendances. Configurez la connexion à la base de données. Générez le code de l'application. Lancez l'application et visitez http://localhost:8000.

See all articles