Laravel 8 quy tắc xác thực mật khẩu

Mật khẩu là dữ liệu quan trọng nhất trong bất kỳ cơ sở dữ liệu nào. Không nên lưu trữ bất kỳ mật khẩu nào nếu không có mã hóa phù hợp. Cảm ơn Laravel facade

// minimum 8 characters required
Password::min[8]
4 cung cấp cách mạnh mẽ để mã hóa mật khẩu

Điều quan trọng nữa là buộc người dùng sử dụng mật khẩu mạnh. Laravel cung cấp các quy tắc xác thực khác nhau buộc người dùng phải sử dụng mật khẩu đủ mạnh. Với Laravel 8, cung cấp quy tắc xác thực mật khẩu mặc định.  

Trong bài viết hướng dẫn này, chúng ta sẽ xem xét các loại phức tạp khác nhau trong việc xác thực mật khẩu

Để xác thực bất kỳ trường nào, hãy sử dụng phương thức xác thực của đối tượng

// minimum 8 characters required
Password::min[8]
5. Trong bộ điều khiển của bạn, hãy thêm phương thức
// minimum 8 characters required
Password::min[8]
6

use Illuminate\Validation\Rules\Password;

/**
 * store new user
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store[Request $request]
{
    $validated = $request->validate[[
        'email' => ['required']
        'password' => ['required', 'confirmed', Password::min[8]],
    ]];

    // store user data
}

Bạn đã biết xác thực 'bắt buộc' và xác nhận. được xác nhận sẽ xác nhận rằng cả

// minimum 8 characters required
Password::min[8]
7 và
// minimum 8 characters required
Password::min[8]
0 đều giống nhau. Với sự trợ giúp của
// minimum 8 characters required
Password::min[8]
1, bạn có thể xác thực độ phức tạp của mật khẩu

// minimum 8 characters required
Password::min[8]

Bạn cũng có thể xâu chuỗi nhiều phương thức hơn để tăng thêm độ phức tạp

// minimum 8 characters with at least one letter
Password::min[8]->letters[]

// minimum 8 characters with at least one uppercase and one lowercase letter
Password::min[8]->mixedCase[]

// minimum 8 characters with at least one number
Password::min[8]->numbers[]

// minimum 8 characters with at least one symbol
Password::min[8]->symbols[]

// password has not been compromised in a public password
Password::min[8]->uncompromised[]

Thay vì xác định nhiều xác thực, bạn có thể xâu chuỗi nhiều phương thức trong một biểu thức

Password::min[8]
    ->letters[]
    ->mixedCase[]
    ->numbers[]
    ->symbols[]
    ->uncompromised[]

Nhưng điều gì sẽ xảy ra nếu bạn đang xác thực tất cả độ phức tạp nhiều lần trong một ứng dụng. Bạn phải sao chép-dán nó tất cả các cách. Thay vào đó, bạn có thể xác định tính hợp lệ này tại một nơi và gọi nó mọi lúc khi bạn yêu cầu

Laravel cũng cung cấp tính năng này. Thay vào đó, bạn có thể xác định tất cả các quy tắc này trong bất kỳ phương thức khởi động nào của nhà cung cấp dịch vụ. Ví dụ trong AppServiceProvider

Tham gia bản tin của tôi

Trong bài đăng này, bạn sẽ tìm hiểu cách triển khai mật khẩu mạnh của Laravel trong quy tắc xác thực. Bắt đầu với Laravel 8. x, chúng cung cấp cách triển khai dễ dàng hơn cho một mật khẩu mạnh mà không cần mã hóa thêm

 

Thông thường, khi chúng tôi tạo một thông tin đăng nhập đơn giản, chúng tôi chỉ xác thực độ dài tối thiểu của mật khẩu người dùng đã gửi nhưng nếu chúng tôi muốn có một tài khoản người dùng an toàn hơn, chúng tôi buộc họ phải cung cấp một mật khẩu khó gợi ý

 

 

 

Mật khẩu có độ dài tối thiểu

Như bạn có thể thấy bên dưới, chúng tôi đã thêm lớp tĩnh

// minimum 8 characters required
Password::min[8]
8 với phương thức
// minimum 8 characters required
Password::min[8]
9. Điều này có nghĩa là mật khẩu phải có ít nhất 8 ký tự tối thiểu

 

Chủ Đề