Maison  >  Article  >  développement back-end  >  Implémenter la vérification de sécurité PHP à l'aide de Laravel Fortify

Implémenter la vérification de sécurité PHP à l'aide de Laravel Fortify

WBOY
WBOYoriginal
2023-07-24 19:07:581419parcourir

Utilisez Laravel Fortify pour implémenter la vérification de sécurité PHP

Introduction :
Avec l'application généralisée d'Internet, les problèmes de sécurité des réseaux sont devenus de plus en plus importants. Lors de la création et du développement d’applications Web, la sécurité des informations des utilisateurs est une priorité essentielle. Afin de renforcer la vérification de sécurité PHP, nous pouvons utiliser Laravel Fortify, un outil puissant pour simplifier et renforcer notre processus de vérification. Cet article présentera les concepts de base et l'utilisation de Laravel Fortify, et fournira des exemples de code pour aider les lecteurs à mieux comprendre.

  1. Introduction à Laravel Fortify
    Laravel Fortify est un package PHP officiellement fourni qui fournit un système d'authentification moderne pour le framework Laravel. Fortify fournit une série de fonctions d'authentification prédéfinies, notamment l'enregistrement, la connexion, la réinitialisation du mot de passe, la vérification des e-mails, etc., qui peuvent nous aider à créer rapidement des fonctions d'authentification des utilisateurs sûres et fiables. Dans le même temps, Fortify intègre également d'autres fonctionnalités, telles que la vérification en deux étapes, la limitation du nombre de tentatives de connexion, etc., pour offrir une sécurité plus complète.
  2. Installez Laravel Fortify
    Tout d'abord, assurez-vous d'avoir installé le framework Laravel. Ensuite, basculez vers le répertoire de votre projet dans le terminal et exécutez la commande suivante pour installer Laravel Fortify :
composer require laravel/fortify

Une fois l'installation terminée, nous devons exécuter la commande suivante pour générer le fichier de configuration Fortify :

php artisan vendor:publish --provider="LaravelFortifyFortifyServiceProvider"

Le fichier de configuration sera généré Sous config/fortify.php, nous pouvons faire quelques configurations personnalisées ici. config/fortify.php 下,我们可以在这里进行一些自定义配置。

  1. 基本使用
    在配置完成后,我们就可以开始使用 Laravel Fortify 了。首先,在你的应用程序中引入 Fortify 的一些基本配置和路由:
// routes/web.php

use LaravelFortifyFortify;

// 引入 Fortify 的一些基本配置
Fortify::loginView(function () {
    return view('auth.login');
});

// 引入 Fortify 的路由
Fortify::authenticateUsing(function (Request $request) {
    // 用户验证逻辑
});

// 用户认证相关路由
Route::group(['middleware' => config('fortify.middleware', ['web'])], function () {
    // 注册、登录、密码重置、邮箱验证等路由
    Fortify::registerRoutes();
    Fortify::resetPasswordRoutes();
    Fortify::verifyEmailRoutes();
});

这里的基本配置包括了用户登录界面的视图和用户验证逻辑。Fortify 提供了一些预设的视图模板,你可以根据需求进行修改或者自定义。

  1. 自定义用户认证逻辑
    在上面的示例代码中,我们提到了用户验证逻辑的部分。这里,我们可以通过实现 Laravel Fortify 的 authenticateUsing 方法来自定义用户的认证方式。下面是一个简单的例子:
// routes/web.php

use LaravelFortifyFortify;
use IlluminateSupportFacadesAuth;

Fortify::authenticateUsing(function (Request $request) {
    // 获取表单提交的登录信息
    $credentials = $request->only('email', 'password');

    // 用户认证逻辑
    if (Auth::attempt($credentials)) {
        return redirect()->intended('/dashboard');
    } else {
        return back()->withErrors([
            'email' => 'Email 或密码不正确',
        ]);
    }
});

这个例子中,我们使用了 Laravel 的 Auth Facade 来进行用户认证。你可以根据你的应用程序需求,使用不同的用户认证方式。

  1. 其他功能
    除了基本的认证功能,Laravel Fortify 还提供了一些其他的安全功能。这些功能可以在 config/fortify.php 文件中进行配置。下面是一些常用功能的示例:
  • 两步验证:使用 Laravel 的 TwoFactorAuthentication 中间件来开启两步验证:

    Fortify::authenticateThrough(function (Request $request) {
      return array_filter([
          config('fortify.limiters.login') ? null : RateLimiter::for('login'),
          $request->input('remember') ? null : ThrottleFailedLogins::forUser($request->user()),
          TwoFactorAuthentication::check($request) ? null : PreventsTwoFactorAuthentication::class,
      ]);
    });
  • 限制登录尝试次数:可以在 config/fortify.php 中配置登录尝试次数和锁定时间:

    'limiters' => [
      'login' => [
          'enabled' => true,
          'tries' => 5,
          'lockout_time' => 300,
      ],
    ],
  • Email 验证:Fortify 提供了一整套预先构建好的路由来处理邮箱验证相关的逻辑,你可以在 config/fortify.php
    1. Utilisation de base
    Une fois la configuration terminée, nous pouvons commencer à utiliser Laravel Fortify. Tout d'abord, introduisez une configuration de base et un routage de Fortify dans votre application :


    rrreee

    La configuration de base ici inclut la vue de l'interface de connexion utilisateur et la logique d'authentification de l'utilisateur. Fortify fournit des modèles de vues prédéfinis que vous pouvez modifier ou personnaliser en fonction de vos besoins. 🎜
      🎜Logique d'authentification utilisateur personnalisée🎜Dans l'exemple de code ci-dessus, nous avons mentionné la partie logique d'authentification utilisateur. Ici, nous pouvons personnaliser la méthode d'authentification de l'utilisateur en implémentant la méthode authenticateUsing de Laravel Fortify. Voici un exemple simple : 🎜🎜rrreee🎜Dans cet exemple, nous utilisons la façade Auth de Laravel pour l'authentification des utilisateurs. Vous pouvez utiliser différentes méthodes d'authentification utilisateur en fonction des besoins de votre application. 🎜
        🎜Autres fonctionnalités🎜En plus des fonctions d'authentification de base, Laravel Fortify fournit également d'autres fonctionnalités de sécurité. Ces fonctionnalités peuvent être configurées dans le fichier config/fortify.php. Voici quelques exemples de fonctionnalités couramment utilisées : 🎜🎜
      🎜🎜Vérification en deux étapes : utilisez le middleware TwoFactorAuthentication de Laravel pour activer la vérification en deux étapes : 🎜rrreee🎜🎜🎜Limiter le nombre de tentatives de connexion : Vous pouvez configurer le nombre de tentatives de connexion et le temps de verrouillage dans config/fortify.php : 🎜rrreee🎜🎜Vérification des e-mails : Fortify fournit un ensemble de routes prédéfinies pour gérer la logique liée à la vérification des e-mails, vous peut config/fortify.php. 🎜🎜🎜Conclusion : 🎜En utilisant Laravel Fortify, nous pouvons facilement créer et renforcer notre processus de vérification de sécurité PHP. Cet article présente les concepts de base et l'utilisation de Laravel Fortify, et fournit des exemples de code pour aider les lecteurs à mieux comprendre. Nous espérons que ces informations vous aideront à mieux protéger la sécurité des informations de vos utilisateurs et à accroître la fiabilité de vos applications Web. 🎜

    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:
    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