## О проекте

Захотелось написать свой независимый сервис защиты от роботов. Сервис каптча написан на фреймворке Laravel. Вдохновлялся, а так же брал картинки с проекта <a href="https://github.com/wenlng/go-captcha" target="_blank">Go Captcha</a>.

[Сайт проекта](https://service-captcha.projects.kor-elf.net/)

## Зависимости

php 8.3 (модули: redis, gd)

redis

mysql 8

## Демострация
Демо сервис каптча: https://captcha-admin-demo.tut-site.net/

Email: demo@tut-site.net

Пароль: demodemo

Демо каптча: https://captcha-demo.tut-site.net/

## API
https://captcha-admin-demo.tut-site.net/api-docs/

## Javascript клиент для сайта
https://git.kor-elf.net/kor-elf/service-captcha-gui

## Как проверять со стороны бэкенда
Для Laravel 10, 11 есть готовый пакет: https://git.kor-elf.net/kor-elf/captcha-rule-for-laravel

Можно установить этот пакет так: composer require kor-elf/captcha-rule-for-laravel

<br><b>Curl:</b>

curl -X POST 'https://captcha-admin-demo.tut-site.net/api/v1/captcha/{captcha-token}' -H 'private-token: {your-private-token}' -H 'Content-Type: application/json' -d '{"user_agent": "{user-agent}"}' --max-time 10

Где {captcha-token} - токен получил пользователь от сервиса каптча после успешной проверки.

Где {your-private-token} - приватный токен, который мы создали в админке. 

Где {user-agent} - передаём user agent от пользователя, который проходил каптчу.

Успешная проверка пользователя вернёт ответ код 200 и status = true. Иначе считаем, что пользователь не прошёл проверку на робота.

## Репозиторий с демо
https://git.kor-elf.net/kor-elf/service-captcha-demo

## Лицензия

 [MIT license](https://opensource.org/licenses/MIT).
