Упрощение интеграции CAPTCHA в Laravel: методы и примеры кода

CAPTCHA (полностью автоматизированный общедоступный тест Тьюринга для различия компьютеров и людей) – это популярный метод, используемый для защиты веб-приложений от спама и автоматических ботов. В этой статье мы рассмотрим различные методы интеграции CAPTCHA в Laravel, мощный PHP-фреймворк. Мы предоставим примеры кода для демонстрации каждого метода, которые помогут вам легко реализовать CAPTCHA в ваших проектах Laravel.

  1. 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',
    ]);
  1. 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.