Table des matières
Articles qui pourraient vous intéresser :
Maison développement back-end tutoriel php Laravel5.2 utilise Captcha pour générer des codes de vérification permettant de se connecter

Laravel5.2 utilise Captcha pour générer des codes de vérification permettant de se connecter

Jul 03, 2018 pm 05:57 PM
laravel session 生成验证码

Cet article présente principalement Laravel5.2 pour utiliser Captcha pour générer des codes de vérification (session pit). Les amis qui en ont besoin peuvent s'y référer

Récemment, un ami m'a demandé de l'aider à se connecter au code de vérification Laravel, alors j'ai fait une petite recherche. (J'ai presque oublié comment utiliser Laravel)

Tout d'abord, il n'est pas nécessaire d'entrer dans les détails de l'installation de Laravel. Ma version est la 5.2.45 (remarque : le middleware pour Laravel 5.2.6 et supérieur peut l'être. chargé automatiquement), cela reste assez important.

Une fois l'installation terminée, vous devez utiliser composer pour charger votre Captcha. La méthode spécifique consiste à ajouter la ligne "gregwar/captcha": "1.*" au tableau require dans votre composer.json. . Ensuite, utilisez cmd dans le répertoire racine de votre projet pour exécuter la ligne de code de mise à jour du composer. Dans ce cas, même si la bibliothèque ou le middleware est installé. Ensuite, vous pouvez écrire votre code librement.

php : (Je n'entrerai pas trop dans les détails sur le routage spécifique ci-dessous, écrivez simplement le code clé)

public function captcha($tmp)
{  //生成验证码图片的Builder对象,配置相应属性
  $builder = new CaptchaBuilder;
  //可以设置图片宽高及字体
  $builder->build($width = 100, $height = 40, $font = null);
  //获取验证码的内容
  $phrase = $builder->getPhrase();
  //把内容存入session
  Session::flash('milkcaptcha', $phrase);
  //生成图片
  header("Cache-Control: no-cache, must-revalidate");
  header('Content-Type: image/jpeg');
  $builder->output();
}
Copier après la connexion

Appel du modèle de lame :

<img src="{{url(&#39;/captcha/1&#39;)}}" alt="" onclick="this.src=&#39;{{url(&#39;/captcha&#39;)}}/&#39;+Math.random()" width="100" height="40" border="0">
Copier après la connexion

Si vous pensez que c'est la fin, alors vous êtes vraiment trop yang trop simple. Lorsque vous vérifierez, vous constaterez que tout ne va pas.

N'est-ce pas si aigre et rafraîchissant ? Parce que dans laravel5.2, toutes les sessions ne peuvent pas traverser les contrôleurs et les méthodes si elles se croisent, la session sera régénérée. Par défaut, la session doit être passée via un middleware. Ne vous inquiétez pas, la méthode suivante est la solution. Actuellement, je connais deux solutions. La première consiste à créer vous-même un middleware et à y stocker toutes les sessions, mais c'est un peu gênant. Ensuite, je vais présenter une méthode simple, dans votre laravelappHttpKernel.php. Ajoutez le code suivant à $middleware. dans le fichier :

\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Cookie\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
Copier après la connexion

Vous pourrez alors utiliser la séance en toute confiance. C'est ainsi que vous pouvez vérifier le code de vérification ci-dessous,

public function login_data()
{
  $userInput = \Request::get(&#39;captcha&#39;);
  if (Session::get(&#39;milkcaptcha&#39;) == $userInput) {
    //用户输入验证码正确,验证你自己密码用户名
    echo 1;
  } else {
    //用户输入验证码错误
    echo 2;
  }
}
Copier après la connexion

Enfin, je dois me plaindre de la documentation officielle de Laravel. De tels pièges ne sont pas expliqués à l'avance. C'est probablement parce que les développeurs craignent que le développement soit trop fluide.

Résumé

Ce qui précède est l'introduction de l'éditeur à Laravel5.2 utilisant Captcha pour générer des codes de vérification pour réaliser la connexion (fosse de session), je j'espère que cela vous sera utile. Si vous avez des questions, laissez-moi un message et l'éditeur vous répondra à temps. Je voudrais également vous remercier tous pour votre soutien au site Web php chinois !

Articles qui pourraient vous intéresser :

Explication détaillée du tri par bucket dans la série d'algorithmes de tri PHP

Explication détaillée du tri par fusion dans la série d'algorithmes de tri PHP_php skills

Explication détaillée du tri par sélection directe dans la série d'algorithmes de tri PHP

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 obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Apr 01, 2025 pm 02:45 PM

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? Mar 31, 2025 pm 11:24 PM

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Mar 31, 2025 pm 11:48 PM

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Apr 01, 2025 am 07:09 AM

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Serveur de vidage Laravel - Serveur de vidage Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Apr 01, 2025 am 07:45 AM

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...

Laravel Multi-Lenant Extension Stancl / Tenancy: Comment personnaliser l'adresse hôte d'une connexion de base de données de locataire? Laravel Multi-Lenant Extension Stancl / Tenancy: Comment personnaliser l'adresse hôte d'une connexion de base de données de locataire? Apr 01, 2025 am 09:09 AM

Connexion de la base de données des locataires personnalisés dans le package d'extension multi-locataire Laravel Stancl / location Lors de la construction d'applications multi-locataires à l'aide du package d'extension multi-locataire Laravel Stancl / location, ...

Laravel – URL de l'action Laravel – URL de l'action Aug 27, 2024 am 10:51 AM

Laravel - URL d'action - Laravel 5.7 introduit une nouvelle fonctionnalité appelée « URL d'action appelable ». Cette fonctionnalité est similaire à celle de Laravel 5.6 qui accepte la méthode string in action. L'objectif principal de la nouvelle syntaxe introduite par Laravel 5.7 est de diriger

See all articles