service-captcha/README.md

53 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

## О проекте
2023-03-05 19:43:37 +06:00
Захотелось написать свой независимый сервис защиты от роботов. Сервис каптча написан на фреймворке Laravel. Вдохновлялся, а так же брал картинки с проекта <a href="https://github.com/wenlng/go-captcha" target="_blank">Go Captcha</a>.
2023-03-05 20:14:04 +06:00
2024-04-25 20:58:52 +05:00
[Сайт проекта](https://service-captcha.projects.kor-elf.net/)
## Зависимости
2023-03-05 20:14:04 +06:00
2024-04-25 20:58:52 +05:00
php 8.3 (модули: redis, gd)
2023-03-05 20:14:04 +06:00
redis
2023-03-05 20:14:04 +06:00
mysql 8
2023-03-05 20:14:04 +06:00
## Демострация
Демо сервис каптча: https://captcha-admin-demo.tut-site.net/
2023-03-05 20:14:04 +06:00
Email: demo@tut-site.net
2023-03-05 20:14:04 +06:00
Пароль: demodemo
2023-03-05 20:14:04 +06:00
Демо каптча: https://captcha-demo.tut-site.net/
2023-03-05 20:14:04 +06:00
## API
https://captcha-admin-demo.tut-site.net/api-docs/
2023-03-05 20:14:04 +06:00
## Javascript клиент для сайта
https://git.kor-elf.net/kor-elf/service-captcha-gui
2023-03-05 20:14:04 +06:00
## Как проверять со стороны бэкенда
2024-04-25 20:58:52 +05:00
Для Laravel 10, 11 есть готовый пакет: https://git.kor-elf.net/kor-elf/captcha-rule-for-laravel
2023-03-05 20:14:04 +06:00
Можно установить этот пакет так: composer require kor-elf/captcha-rule-for-laravel
2023-03-05 20:14:04 +06:00
<br><b>Curl:</b>
2023-03-05 20:14:04 +06:00
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
2023-03-05 20:14:04 +06:00
Где {captcha-token} - токен получил пользователь от сервиса каптча после успешной проверки.
2023-03-05 20:14:04 +06:00
Где {your-private-token} - приватный токен, который мы создали в админке.
2023-03-05 20:14:04 +06:00
Где {user-agent} - передаём user agent от пользователя, который проходил каптчу.
2023-03-05 20:14:04 +06:00
Успешная проверка пользователя вернёт ответ код 200 и status = true. Иначе считаем, что пользователь не прошёл проверку на робота.
2023-03-05 20:14:04 +06:00
## Репозиторий с демо
https://git.kor-elf.net/kor-elf/service-captcha-demo
2023-03-05 20:14:04 +06:00
## Лицензия
[MIT license](https://opensource.org/licenses/MIT).