Как сгенерировать код Captcha в Laravel — это тема, которую мы обсудим сегодня. Captcha означает полностью автоматизированный общедоступный тест Тьюринга. Он в основном используется в качестве теста безопасности, чтобы убедиться, что пройти через него могут только пользователи-люди. Компьютеры или боты не могут разгадывать капчу. Существуют разные типы капчи, которые мы можем использовать для защиты. Логика, по которой веб-сайты внедряют коды CAPTCHA в свои процессы регистрации, связана со спамом. В этом примере мы можем использовать пакет капчи mews для создания капчи.
Как сгенерировать код капчи в Laravel
Сначала мы устанавливаем проект Laravel.
Шаг 1. Настройте проект Laravel
Установите бренд новый проект Laravel, введя следующую команду.
composer create-project --prefer-dist laravel/laravel laravelcaptcha
Шаг 2: Установите пакет Captcha
Теперь нам нужно добавить пакет капчи mews , поэтому переключитесь в свой терминал и введите команду ниже .
composer require mews/captcha
Шаг 3: Добавить поставщика услуг и псевдонимы
Чтобы использовать поставщика услуг Captcha, вы должны зарегистрировать поставщика при начальной загрузке вашего проекта Laravel.
Найдите провайдеры в файле config >> app.php и зарегистрируйте Captcha Serv Поставщик льда.
'provider' => [//... Mews Captcha CaptchaServiceProvider :: class,]
Найдите псевдонимы в файле config >> app.php и зарегистрируйте псевдонимы.
'aliases' => [//... 'Captcha' => Mews Captcha Facades Captcha :: class,]
Шаг 4: Создайте один контроллер
php artisan make: controller CaptchaController --resource
Будет создан один файл контроллера с именем CaptchaController.php .
Определите проверку и код капчи в файле контроллера.
//Открытая функция CaptchController.php create () {return view ('captchacreate'); } общедоступная функция captchaValidate (Request $ request) {$ request-> validate (['name' => 'required', 'email' => 'required | email', 'password' => 'required | min: 6', 'captcha' => 'обязательно | captcha']); } общедоступная функция refreshCaptcha () {return response () -> json (['captcha' => captcha_img ()]); }
В функции captchaValidate () мы поставили проверку. Если какая-либо проверка не проходит, возникает ошибка.
В функции refreshCaptcha () мы определили код обновления.. Когда пользователь нажимает кнопку «Обновить», код капчи меняется.
Шаг 5: Определение маршрутов
Мы указываем маршрут в routes >> файл web.php . Итак, давайте сделаем это.
//web.phpRoute :: get ('createcaptcha', 'CaptchaController @ create'); Route :: post ('captcha', 'CaptchaController @ captchaValidate') ; Route :: get ('refreshcaptcha', 'CaptchaController @ refreshCaptcha');
В файле web.php мы определяем три (3) маршрута для первый маршрут для отображения страницы входа, второй маршрут для запроса публикации и третий маршрут для обновления кода капчи .
Шаг 6. Создайте один файл представления
Создайте файл в resources >> views> > Captchacreate.blade.php и установите в нем следующий код.
//captchacreate.blade.phpКод Captcha в Laravel в в" контейнере ". >
@if ($ errors-> any ())@foreach ($ errors-> all () as $ error)
- {{$ error}}
@endforeach
@endif @csrf{!! captcha_img () !!}$ ('# refresh'). click (function () {$ .ajax ({type : 'GET', url: 'refreshcaptcha', success: function (data) {$ (". Captcha span"). Html (data.captcha);}});});
![]()
Далее, начало Сервер разработки Laravel, нажав следующую команду.
php artisan serveЕсли мы не введем никаких полей или введем неверный код captcha, мы получим ошибки.
![]()
Наконец, Наш Как сгенерировать код Captcha в Laravel закончен. Спасибо, что приняли.