Top.Mail.Ru

Добавление CAPTCHA в Laravel

Добавление CAPTCHA в Laravel

Для добавления CAPTCHA в Laravel, вы можете воспользоваться рядом популярных пакетов, таких как "greggilbert/recaptcha" или "anhskohbo/no-captcha". Давайте рассмотрим, как это можно сделать с использованием "greggilbert/recaptcha".

Установите пакет "greggilbert/recaptcha" через Composer:

composer require greggilbert/recaptcha

Зарегистрируйте сервис-поставщика в файле config/app.php. Добавьте следующую строку в массив providers:

Greggilbert\Recaptcha\RecaptchaServiceProvider::class,

Опубликуйте конфигурационный файл и предоставьте свой ключ и секрет CAPTCHA. Выполните следующую команду:

php artisan vendor:publish --provider="Greggilbert\Recaptcha\RecaptchaServiceProvider"

Теперь вы можете настроить ключ и секрет CAPTCHA в файле config/recaptcha.php.

Используйте CAPTCHA в формах представлений. Пример представления с использованием CAPTCHA:

<form action="/submit" method="post">
    @csrf
    <!-- Другие поля формы -->
    {!! app('captcha')->display() !!}
    <button type="submit">Отправить</button>
</form>

В контроллере проверьте, прошла ли CAPTCHA проверку, с помощью метода check:

use Greggilbert\Recaptcha\Rules\RecaptchaRule;

public function submit(Request $request)
{
    $this->validate($request, [
        // Другие правила валидации
        'g-recaptcha-response' => ['required', new RecaptchaRule],
    ]);

    // Если код дойдет сюда, CAPTCHA пройдена успешно
    // Обработайте запрос и верните ответ
}

Теперь у вас есть CAPTCHA в ваших формах, и вы можете использовать ее для защиты от спама и ботов.

 

Автор:

172

Читайте также

1 комментарий

  • Имя автора
    ivan234@mail.ru
    24.10.2023 в 11:32

    Спасибо автору за информацию!