Home Laravel Tích hợp Google reCaptcha cho Laravel 5/6/7/8

Tích hợp Google reCaptcha cho Laravel 5/6/7/8

by Hồ Tân Tiến

Google reCaptcha cho Laravel công cụ chống Spam hiệu quả cho dự án của bạn. Google reCaptcha hoàn toàn miễn phí và thân thiện với người dùng, đặc biệt gần đây Google đã cho bạn tự điều chỉnh độ khó của reCaptcha.

reCaptcha cho Laravel

Cài đặt Google reCaptcha cho Laravel

Có nhiều cách để sử dụng reCaptcha trong Laravel, mình thấy nhanh – hiệu quả – dễ sử dụng nhất là package anhskohbo/no-captcha. Chạy câu lệnh Composer này để cài đặt

composer require anhskohbo/no-captcha

Cấu hình

Trước tiên bạn cần tạo reCaptcha để lấy Secret key, Site key sao đó điền vào tệp .env. Thế là cấu hình xong

NOCAPTCHA_SECRET=secret-key NOCAPTCHA_SITEKEY=site-key

Sử dụng reCaptcha cho Laravel

Sao khi cài đặt và cấu hình package reCaptcha cho Laravel xong, 2 bước tiếp theo là cấu hình giao diệnvalidation

Giao diện

Thêm JS

Thêm JS vào trang mà bạn muốn hiện thị reCaptcha, thông thường là ở cuối trang

Mặc định

{!! NoCaptcha::renderJs() !!}

Hoặc bạn có thể cấu hình ngôn ngữonloadCallback

{!! NoCaptcha::renderJs('fr', true, 'recaptchaCallback') !!} 

Hiển thị reCAPTCHA

Thêm vào nơi vào bạn muốn reCaptcha hiện thị, thông thường là cuối form và trước nút submit

Mặc định

{!! NoCaptcha::display() !!} 

Hoặc cấu hình tùy chỉnh

{!! NoCaptcha::display(['data-theme' => 'dark']) !!} 

Đối với Invisible reCAPTCHA sẽ sử dụng kèm submit button:

{!! NoCaptcha::displaySubmit('my-form-id', 'submit now!', ['data-theme' => 'dark']) !!} 

Validation

Sao khi cho cái reCaptcha nó hiện ra rồi, bước tiếp theo là cần validate xem người dùng đã vượt qua captcha chưa.

reCapchat sẽ được xem như một giá trị trong form và có name là g-recaptcha-response. Ta cần validate required|captcha để chắc chắc người dùng có nhập và nhập chính xác.

$validate = Validator::make(Input::all(), [ 'g-recaptcha-response' => 'required|captcha' ]); // hoặc $request->validate([ 'g-recaptcha-response' => 'required|captcha' ]);

Cài đặt reCaptcha cho Laravel vậy là xong. Bạn có thể tham khảo chi tiết tại anhskohbo/no-captcha.

You may also like

Leave a Comment