Инструкция по настройке и использованию SmartCaptcha

1. Регистрация и настройка в Яндекс Cloud

  1. Перейдите на https://cloud.yandex.ru/

  2. Создайте аккаунт или войдите в существующий

  3. Создайте новый облачный проект

  4. В меню сервисов выберите «SmartCaptcha»

  5. Нажмите «Создать капчу» и заполните параметры:

    • Название: Любое имя (например, «CleaningFormCaptcha»)

    • Домены: Укажите ваш домен (например, ваш-сайт.ru)

    • Для тестирования добавьте localhost и 127.0.0.1

2. Получение ключей

После создания капчи вы получите:

  • Клиентский ключ (client key) — для фронтенда

  • Серверный ключ (server key) — для бэкенда

3. Замена ключей в коде

Замените в JavaScript-коде:

  1. ВАШ_КЛИЕНТСКИЙ_КЛЮЧ → ваш клиентский ключ

  2. ВАШ_СЕРВЕРНЫЙ_КЛЮЧ → ваш серверный ключ

4. Настройка серверной проверки (обязательно)

В демо-коде используется прямое обращение к API Яндекс, но для рабочего проекта:

  1. Создайте серверный эндпоинт (например, /verify-captcha)

  2. Отправляйте токен на этот эндпоинт

  3. На сервере проверяйте токен через Яндекс API

  4. Возвращайте результат клиенту

Пример для Node.js:

javascript
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. Тестирование

Для локального тестирования:

  1. Используйте тестовый домен localhost

  2. Проверяйте с токенами:

    • Всегда валидный: no_robot

    • Всегда невалидный: robot

  3. В продакшене удалите тестовые домены из настроек капчи

Особенности работы

  1. Капча автоматически адаптируется под устройства

  2. В большинстве случаев работает невидимо для пользователя

  3. При частых запросах показывает классическую капчу

  4. Токен действителен 3 минуты

После настройки капча будет защищать форму от спама и автоматических отправок.

Оставьте комментарий