CAPTCHA (полностью автоматизированный общедоступный тест Тьюринга для различия компьютеров и людей) – это популярный метод, используемый для защиты веб-приложений от спама и автоматических ботов. В этой статье мы рассмотрим различные методы интеграции CAPTCHA в Laravel, мощный PHP-фреймворк. Мы предоставим примеры кода для демонстрации каждого метода, которые помогут вам легко реализовать CAPTCHA в ваших проектах Laravel.
- Google reCAPTCHA v2:
Google reCAPTCHA – широко используемая служба CAPTCHA. Он предоставляет простой в использовании API для интеграции CAPTCHA в веб-приложения. Выполните следующие действия, чтобы интегрировать Google reCAPTCHA v2 в Laravel:
Шаг 1. Получите ключи API
- Перейдите на сайт Google reCAPTCHA ( https://www.google.com/recaptcha ) и войдите в свою учетную запись Google.
- Создайте новый сайт reCAPTCHA и получите ключ сайта и секретный ключ.
Шаг 2. Установите и настройте пакет
-
Установите пакет «anhskohbo/no-captcha» через Composer.
composer require anhskohbo/no-captcha -
Добавьте поставщика услуг и фасад в файл
config/app.php.'providers' => [ // Other providers... Anhskohbo\NoCaptcha\NoCaptchaServiceProvider::class, ], 'aliases' => [ // Other aliases... 'NoCaptcha' => Anhskohbo\NoCaptcha\Facades\NoCaptcha::class, ],
Шаг 3. Настройка
- Откройте файл
.envи добавьте ключ сайта reCAPTCHA и секретный ключ.RECAPTCHA_SITE_KEY=your_site_key RECAPTCHA_SECRET_KEY=your_secret_key
Шаг 4. Использование
-
Добавьте поле reCAPTCHA в форму.
{!! NoCaptcha::renderJs() !!} {!! NoCaptcha::display() !!} -
Проверьте ответ пользователя на своем контроллере.
$validatedData = $request->validate([ 'g-recaptcha-response' => 'required|captcha', ]);
- hCaptcha:
hCaptcha – это альтернатива Google reCAPTCHA, предлагающая улучшенные функции конфиденциальности и безопасности. Чтобы интегрировать hCaptcha в ваше приложение Laravel, выполните следующие действия:
Шаг 1. Получите ключи API
- Посетите сайт hCaptcha ( https://www.hcaptcha.com ) и создайте учетную запись.
- Получите ключ сайта и секретный ключ для своей учетной записи hCaptcha.
Шаг 2. Установите и настройте пакет
-
Установите пакет «saintsystems/laravel-hcaptcha» через Composer.
composer require saintsystems/laravel-hcaptcha -
Добавьте поставщика услуг и фасад в файл
config/app.php.'providers' => [ // Other providers... SaintSystems\Hcaptcha\HcaptchaServiceProvider::class, ], 'aliases' => [ // Other aliases... 'Hcaptcha' => SaintSystems\Hcaptcha\HcaptchaFacade::class, ],
Шаг 3. Настройка
- Откройте файл
.envи добавьте ключ сайта hCaptcha и секретный ключ.HCAPTCHA_SITEKEY=your_site_key HCAPTCHA_SECRET=your_secret_key
Шаг 4. Использование
-
Добавьте поле hCaptcha в форму.
{!! Hcaptcha::display() !!} -
Проверьте ответ пользователя в своем контроллере.
$validatedData = $request->validate([ 'h-captcha-response' => 'required|hcaptcha', ]);
В этой статье мы рассмотрели два популярных метода интеграции CAPTCHA в приложения Laravel: Google reCAPTCHA v2 и hCaptcha. Мы предоставили пошаговые инструкции и примеры кода, которые помогут вам реализовать CAPTCHA в ваших проектах Laravel. Включив CAPTCHA, вы можете повысить безопасность своих веб-форм и защитить свое приложение от нежелательного спама и действий ботов.
Не забудьте выбрать службу CAPTCHA, которая лучше всего соответствует вашим требованиям, и учитывайте удобство использования при внедрении CAPTCHA. Используя эти методы в своем наборе инструментов, вы можете легко добавить дополнительный уровень безопасности в свои приложения Laravel.