1. Регистрация и настройка в Яндекс Cloud
-
Перейдите на https://cloud.yandex.ru/
-
Создайте аккаунт или войдите в существующий
-
Создайте новый облачный проект
-
В меню сервисов выберите «SmartCaptcha»
-
Нажмите «Создать капчу» и заполните параметры:
-
Название: Любое имя (например, «CleaningFormCaptcha»)
-
Домены: Укажите ваш домен (например,
ваш-сайт.ru
) -
Для тестирования добавьте
localhost
и127.0.0.1
-
2. Получение ключей
После создания капчи вы получите:
-
Клиентский ключ (client key) — для фронтенда
-
Серверный ключ (server key) — для бэкенда
3. Замена ключей в коде
Замените в JavaScript-коде:
-
ВАШ_КЛИЕНТСКИЙ_КЛЮЧ
→ ваш клиентский ключ -
ВАШ_СЕРВЕРНЫЙ_КЛЮЧ
→ ваш серверный ключ
4. Настройка серверной проверки (обязательно)
В демо-коде используется прямое обращение к API Яндекс, но для рабочего проекта:
-
Создайте серверный эндпоинт (например,
/verify-captcha
) -
Отправляйте токен на этот эндпоинт
-
На сервере проверяйте токен через Яндекс API
-
Возвращайте результат клиенту
Пример для Node.js:
app.post('/verify-captcha', async (req, res) => { const { token } = req.body; const response = await fetch('https://smartcaptcha.yandexcloud.net/validate', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ secret: 'ВАШ_СЕРВЕРНЫЙ_КЛЮЧ', token: token, ip: req.ip }) }); const data = await response.json(); res.json({ success: data.status === 'ok' }); });
5. Тестирование
Для локального тестирования:
-
Используйте тестовый домен
localhost
-
Проверяйте с токенами:
-
Всегда валидный:
no_robot
-
Всегда невалидный:
robot
-
-
В продакшене удалите тестовые домены из настроек капчи
Особенности работы
-
Капча автоматически адаптируется под устройства
-
В большинстве случаев работает невидимо для пользователя
-
При частых запросах показывает классическую капчу
-
Токен действителен 3 минуты
После настройки капча будет защищать форму от спама и автоматических отправок.