hotantien
  • Laravel
  • WordPress
  • SEO
  • Đồ họa
  • Javascript
  • Download
  • Công cụ
No Result
View All Result
hotantien
No Result
View All Result
Home Laravel

Validate mật khẩu trong Laravel – Validating Passwords

in Laravel, Code
Mục lục ẩn
1. Validating Passwords
2. Cấu hình mặc định

Validating Passwords

Để kiểm tra độ phức tạp của mật khẩu mà người dùng nhập vào bạn có thể sử dụng Password Rule đã tích hợp sẵn từ Laravel 8:

use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rules\Password;

$validator = Validator::make($request->all(), [
    'password' => ['required', 'confirmed', Password::min(8)],
]);

Password Rule cho phép dễ dàng thêm các yêu cầu về độ phức tạp của mật khẩu, như yêu cầu mật khẩu có ít nhất một chữ cái, số, ký hiệu hoặc phải có chữ viết hoa lẫn viết thường:

// Require at least 8 characters...
Password::min(8)

// Require at least one letter...
Password::min(8)->letters()

// Require at least one uppercase and one lowercase letter...
Password::min(8)->mixedCase()

// Require at least one number...
Password::min(8)->numbers()

// Require at least one symbol...
Password::min(8)->symbols()

Ngoài ra, có thể kiểm tra mật khẩu có bị  tiết lộ trong vụ các vụ rò rỉ dữ liệu mật khẩu được công khai hay không? Đương nhiên có sẽ không được sử dụng 😀 Bằng  uncompromised :

Password::min(8)->uncompromised()

Password Rule sử dụng k-Anonymous để xác định xem mật khẩu có bị rò rỉ hay không thông qua hasibeenpwned.com, để không ảnh hưởng đến quyền riêng tư hoặc bảo mật của người dùng.

Validating Password - Validate mật khẩu trong Laravel
Validating Password – Validate mật khẩu trong Laravel

Mặc định, nếu mật khẩu xuất hiện ít nhất một lần trong một lần rò rỉ dữ liệu, mật khẩu đó sẽ bị coi là bị xâm phạm. Bạn có thể tùy chỉnh ngưỡng này bằng cách truyền tham số vào uncompromised :

// Ensure the password appears less than 3 times in the same data leak...
Password::min(8)->uncompromised(3);

Tất nhiên có thể validate nhiều thứ cùng lúc 😀

Password::min(8)
    ->letters()
    ->mixedCase()
    ->numbers()
    ->symbols()
    ->uncompromised()

Cấu hình mặc định

Có thể thông qua ServiceProvider để cấu hình mặc định cho mật khẩu bằng Password :: defaults

use Illuminate\Validation\Rules\Password;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Password::defaults(function () {
        $rule = Password::min(8);

        return $this->app->isProduction()
                    ? $rule->mixedCase()->uncompromised()
                    : $rule;
    });
}

Cách sử dụng

'password' => ['required', Password::defaults()],

 

Source: Validation - Laravel - The PHP Framework For Web Artisans
Tags: LaravelTối ưu laravel
ShareShareSend

Comments 2

  1. Tam Le says:
    2 năm ago

    Bài viết rất hữu ích luônnnn

    Trả lời
  2. Binh says:
    1 năm ago

    minh bi loi no khong nhan validate

    Trả lời

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết mới nhất

Google reCaptcha cho Laravel

Xử lý thời gian trong WordPress

7 kinh nghiệm khi mua Hosting giá rẻ

Kích thước chuẩn hình ảnh Google Ads, Facebook Ads

VPS / Hosting nên dùng

  • Azdigi.com
  • Vietnix.vn

Liên kết

  • Tranhuuvan.com
  • Tienemall.com

Resource

  • Freepik.com
  • Flaticon.com
  • Unsplash.com

© 2022 Blog của Tiến - Hosted by AZDigi

No Result
View All Result
  • Laravel
  • WordPress
  • SEO
  • Đồ họa
  • Javascript
  • Download
  • Công cụ

© 2022 Blog của Tiến - Hosted by AZDigi