RECAPTCHAV3 trong Laravel 9

Recaptcha của google là công cụ miễn phí và hiệu quả để chống lại Spam request – DDOS tới trang wed của bạn. Hiện nay, Recaptcha của google đã có phiên bản 3. Nào cùng mình add nó vào dự án sử dụng Laravel, cụ thể là phiên bản 9 nhé. Mình add recaptcha vào

Recaptcha của google là công cụ miễn phí và hiệu quả để chống lại Spam request – DDOS tới trang wed của bạn.

Hiện nay, Recaptcha của google đã có phiên bản 3. Nào cùng mình add nó vào dự án sử dụng Laravel, cụ thể là phiên bản 9 nhé.

Mình add recaptcha vào dự án đã dựng sẵn, các bạn nào chưa có dự án thì cứ tìm kiếm và dựng dự án Laravel rồi hãy quay lại đây sau nhé!

Sau khi đã có dự án, mình muốn thêm Recaptchav3 vào để bảo vệ một trang cụ thể. Ở đây, mình lấy trang đăng nhập để làm ví dụ nhé.

Vào dự án, mình chạy terminal sau để cài package: composer require josiasmontag/laravel-recaptchav3

sau đó tiếp: php artisan vendor:publish –provider=”LunawebRecaptchaV3ProvidersRecaptchaV3ServiceProvider”

Cách sử dụng
Khởi tạo Recaptcha Javascript
Recaptcha v3 hoạt động tốt nhất khi nó được tải trên mọi trang để có được ngữ cảnh nhất về các tương tác. Do đó, hãy thêm vào mẫu đầu trang hoặc chân trang của bạn:

{!! RecaptchaV3::initJs() !!}

Tiếp theo là validate:

Các bạn có thể dùng rules trong formRequest hoặc dùng thư viện Validator:
ở đây mình dùng FormRequest:

public function rules()
{
return [
’email’ => ‘bail|required|email’,
‘password’ => ‘bail|required|min:6|max:32’,
‘g-recaptcha-response’ => ‘bail|required’
];
}

Hoặc các bạn có thể lấy score của response để check trong Controller bằng cách:

Import FacadesRecaptchaV3 vào controller:
use LunawebRecaptchaV3FacadesRecaptchaV3;
// RecaptchaV3::verify($token, $action)
$score = RecaptchaV3::verify($request->get(‘g-recaptcha-response’), ‘register’)
if($score > 0.7) {
// go
} elseif($score > 0.3) {
// require additional email verification
} else {
return abort(400, ‘You are most likely a bot’);
}

Ngoài ra bạn còn có thể ấn icon Recapcha bằng CSS: .grecaptcha-badge { visibility: hidden !important; }

Cuối cùng: Bạn có thể chọn một vài Score khác nhau để Test xem code đã hoạt động như ý hay chưa:

RecaptchaV3::shouldReceive(‘verify’)
->once()
->andReturn(1.0);

Cám ơn các bạn đã đọc tới đây.
Bài viết còn nhiều thiếu sót, mình sẽ cố gắng hoàn thiện hơn!

Nguồn: https://github.com/josiasmontag/laravel-recaptchav3#readme

Nguồn: viblo.asia

Bài viết liên quan

Thay đổi Package Name của Android Studio dể dàng với plugin APR

Nếu bạn đang gặp khó khăn hoặc bế tắc trong việc thay đổi package name trong And

Lỗi không Update Meta_Value Khi thay thế hình ảnh cũ bằng hình ảnh mới trong WordPress

Mã dưới đây hoạt động tốt có 1 lỗi không update được postmeta ” meta_key=

Bài 1 – React Native DevOps các khái niệm và các cài đặt căn bản

Hướng dẫn setup jenkins agent để bắt đầu build mobile bằng jenkins cho devloper an t

Chuyển đổi từ monolith sang microservices qua ví dụ

1. Why microservices? Microservices là kiến trúc hệ thống phần mềm hướng dịch vụ,