Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Laksanakan pengesahan keselamatan PHP menggunakan Laravel Fortify

Laksanakan pengesahan keselamatan PHP menggunakan Laravel Fortify

WBOY
WBOYasal
2023-07-24 19:07:581436semak imbas

Gunakan Laravel Fortify untuk melaksanakan pengesahan keselamatan PHP

Pengenalan:
Dengan aplikasi Internet yang meluas, isu keselamatan rangkaian telah menjadi semakin ketara. Memastikan maklumat pengguna selamat adalah tugas kritikal apabila membina dan membangunkan aplikasi web. Untuk mengukuhkan pengesahan keselamatan PHP, kami boleh menggunakan Laravel Fortify, alat yang berkuasa untuk memudahkan dan mengukuhkan proses pengesahan kami. Artikel ini akan memperkenalkan konsep asas dan penggunaan Laravel Fortify, dan menyediakan beberapa contoh kod untuk membantu pembaca memahami dengan lebih baik.

  1. Pengenalan kepada Laravel Fortify
    Laravel Fortify ialah pakej PHP yang disediakan secara rasmi yang menyediakan sistem pengesahan moden untuk rangka kerja Laravel. Fortify menyediakan satu siri fungsi pengesahan pra-bina, termasuk pendaftaran, log masuk, tetapan semula kata laluan, pengesahan e-mel, dll., yang boleh membantu kami membina fungsi pengesahan pengguna yang selamat dan boleh dipercayai dengan cepat. Pada masa yang sama, Fortify turut menyepadukan beberapa ciri lain, seperti pengesahan dua langkah, mengehadkan bilangan percubaan log masuk, dsb., untuk menyediakan keselamatan yang lebih komprehensif.
  2. Pasang Laravel Fortify
    Pertama, pastikan anda telah memasang rangka kerja Laravel. Kemudian, tukar ke direktori projek anda di terminal dan laksanakan arahan berikut untuk memasang Laravel Fortify:
composer require laravel/fortify

Selepas pemasangan selesai, kita perlu menjalankan arahan berikut untuk menjana fail konfigurasi Fortify:

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

Fail konfigurasi akan dijana Di bawah config/fortify.php, kita boleh membuat beberapa konfigurasi tersuai di sini. 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. Penggunaan asas
    Selepas konfigurasi selesai, kita boleh mula menggunakan Laravel Fortify. Mula-mula, perkenalkan beberapa konfigurasi asas dan penghalaan Fortify ke dalam aplikasi anda:


    rrreee

    Konfigurasi asas di sini termasuk paparan antara muka log masuk pengguna dan logik pengesahan pengguna. Fortify menyediakan beberapa templat paparan pratetap yang boleh anda ubah suai atau sesuaikan mengikut keperluan anda. 🎜
      🎜Logik pengesahan pengguna tersuai🎜Dalam kod contoh di atas, kami menyebut bahagian logik pengesahan pengguna. Di sini, kami boleh menyesuaikan kaedah pengesahan pengguna dengan melaksanakan kaedah authenticateUsing Laravel Fortify. Berikut ialah contoh mudah: 🎜🎜rrreee🎜Dalam contoh ini, kami menggunakan Fasad Auth Laravel untuk pengesahan pengguna. Anda boleh menggunakan kaedah pengesahan pengguna yang berbeza berdasarkan keperluan aplikasi anda. 🎜
        🎜Ciri-ciri lain🎜Selain fungsi pengesahan asas, Laravel Fortify turut menyediakan beberapa ciri keselamatan lain. Ciri-ciri ini boleh dikonfigurasikan dalam fail config/fortify.php. Berikut ialah beberapa contoh ciri yang biasa digunakan: 🎜🎜
      🎜🎜Pengesahan dua langkah: Gunakan perisian tengah TwoFactorAuthentication Laravel untuk membolehkan pengesahan dua langkah: 🎜rrreee🎜🎜🎜Hadkan bilangan percubaan log masuk : Anda boleh Konfigurasikan bilangan percubaan log masuk dan masa kunci dalam config/fortify.php: 🎜rrreee🎜🎜Pengesahan e-mel: Fortify menyediakan satu set laluan pra-bina untuk mengendalikan logik berkaitan pengesahan e-mel, anda boleh config/fortify.php. 🎜🎜🎜Kesimpulan: 🎜Dengan menggunakan Laravel Fortify, kami boleh membina dan mengukuhkan proses pengesahan keselamatan PHP kami dengan mudah. Artikel ini memperkenalkan konsep asas dan penggunaan Laravel Fortify, dan menyediakan beberapa contoh kod untuk membantu pembaca memahami dengan lebih baik. Semoga maklumat ini akan membantu anda melindungi keselamatan maklumat pengguna anda dengan lebih baik dan meningkatkan kebolehpercayaan dan kebolehpercayaan aplikasi web anda. 🎜

    Atas ialah kandungan terperinci Laksanakan pengesahan keselamatan PHP menggunakan Laravel Fortify. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn