reCAPTCHA и боты
Как сайт отличает человека от автоматического скрипта.
Зачем защищаться от ботов
Боты — это программы, которые автоматически отправляют запросы на сайт. Без защиты бот может перебирать пароли, спамить или перегружать сервер. reCAPTCHA от Google проверяет, что запрос отправляет живой человек.
Сначала капча, потом хеш
На этом сайте порядок строгий: сначала проходишь капчу, и только если проверка успешна — сервер хеширует пароль. Бот без прохождения капчи не сможет воспользоваться хешером.
reCAPTCHA v2 и v3
| v2 (на этом сайте) | v3 | |
|---|---|---|
| Что видит юзер | галочку «I'm not a robot» | ничего |
| Картинки (светофоры) | иногда показывает | никогда |
| Как проверяет | клик + пазл | скрытно, по поведению |
| Оценка | прошёл/не прошёл | score от 0 до 1 |
Как это работает технически
Когда ты проходишь капчу, Google выдаёт браузеру токен. Этот токен отправляется на сервер вместе с паролем. Сервер спрашивает у Google: «токен настоящий?». Только при положительном ответе пароль хешируется.
Секретный ключ капчи хранится только на сервере (в файле
.env) и никогда не попадает в браузер. Публичный ключ виден в HTML — это нормально.