- vừa được xem lúc

RECAPTCHAV3 trong Laravel 9

0 0 13

Người đăng: Chuyên Nguyễn Đình

Theo Viblo Asia

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="Lunaweb\RecaptchaV3\Providers\RecaptchaV3ServiceProvider"

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 Facades\RecaptchaV3 vào controller: use Lunaweb\RecaptchaV3\Facades\RecaptchaV3; // 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

Bình luận

Bài viết tương tự

- vừa được xem lúc

Google’s new No CAPTCHA reCAPTCHA

1. Khái niệm.

0 0 24

- vừa được xem lúc

Tìm hiểu về Livewire trong Laravel

Giới Thiệu. Livewire là một full-stack framework cho Laravel giúp việc xây dựng các giao diện động trở nên đơn giản hơn.

0 1 217

- vừa được xem lúc

Tải cả thư viện sách lên website chỉ trong 1 nốt nhạc với Laravel!

Giới thiệu bài toán:. Sau nhiều giờ ngồi upload từng cuốn e-book lên website - 1 việc cần thiết nhưng thật sự tốn thời gian.

0 0 29

- vừa được xem lúc

DataTable và Laravel

1. Giới thiệu:.

0 0 83

- vừa được xem lúc

Hướng dẫn làm chức năng đăng ký tài khoảng bằng cách xác thực email với mã OTP giống như Facebook bằng Laravel 8x

Xin chào tất cả mọi người, mình sẽ hướng dẫn mọi người làm chức năng gửi gmail xác thực người dùng bằng mã OTP giống như Facebook bằng Laravel 8x.Bài viết này dành cho người đã từng học qua Laravel cơ

0 0 33

- vừa được xem lúc

Câu chuyện về caching trong laravel

Caching là gì, tại sao phải caching. Laravel có thể caching những gì.

0 0 53