Главная/Статьи/Интеграция невидимой капчи от Google для Laravel
Laravel

Интеграция невидимой капчи от Google для Laravel

Невидимая капча (Invisible reCAPTCHA) — это усовершенствованная версия капчи от Google, в которой больше нет видимого пользователю блока. Эта технология полностью скрыта от пользователей, за исключением небольшого значка на сайте. Используется для защиты форм от спама при отправке комментариев или контактных форм.

Установка пакета

composer require albertcht/invisible-recaptcha

Подключение сервис-провайдера

В файле /config/app.php добавить в массив ServiceProviders:

AlbertCht\InvisibleReCaptcha\InvisibleReCaptchaServiceProvider::class

Регистрация в Google

Зарегистрируйте приложение на google.com/recaptcha/admin и выберите тип invisible reCAPTCHA.

Добавление ключей в .env

INVISIBLE_RECAPTCHA_SITEKEY={siteKey}
INVISIBLE_RECAPTCHA_SECRETKEY={secretKey}
INVISIBLE_RECAPTCHA_BADGEHIDE=false
INVISIBLE_RECAPTCHA_DEBUG=false

Отображение капчи в шаблоне

{!! app('captcha')->render(); !!}

{{-- С поддержкой кастомного языка: --}}
{!! app('captcha')->render($lang = null); !!}

Добавление валидации

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

Дополнительные параметры: BADGEHIDE=true скрывает логотип значка, DEBUG=true выводит информацию в консоль браузера.