Пресет «Форма с капчей»

Пресет «Форма с капчей» добавляет форме сайта защиту от роботов: сценарий проверяет токен капчи до того, как примет данные. Разбираем выбор провайдера, цепочку узлов, куда кладутся ключи и что видеть в журнале при отказе. Токен проверяется на стороне сервиса капчи, секретные ключи хранятся в «Секретах» — статья показывает каждый шаг.

Капча — тот случай, когда «просто повесить виджет» мало: токен, который присылает виджет, надо проверить на стороне сервиса. Пресет собирает всю проверку: нет токена или проверка не прошла — заявка не сохраняется.

Где найти пресет

Админка → «Сайт» → сценарий, который обрабатывает вашу форму → тулбар → «Пресеты» → карточка «Форма с капчей». Пресет также доступен при создании сценария — в окне создания есть поле «Начать с пресета».

Выбор провайдера капчи в окне пресета

Выбор провайдера

Окно параметров спрашивает одно: провайдера капчи.

  • Cloudflare Turnstile — часто невидим для посетителя, самый щадящий вариант.
  • Яндекс SmartCaptcha — привычна в рунете.
  • reCAPTCHA — сервис Google.

Смена провайдера потом означает перегенерацию пресета: условия и адреса проверки у сервисов разные.

Что собирает пресет

Узел Роль в сценарии
Начало Данные формы приходят на маршрут сценария вместе с токеном капчи
Условие Токен вообще прислан?
HTTP POST Отправить токен сервису капчи на проверку (siteverify)
Условие Сервис подтвердил токен?
JSON-ответ Отказ: 403 CAPTCHA_FAILED
(далее — ваши узлы) Проверка прошла — сценарий продолжается: письмо, сохранение…
Редирект Ветка успеха замыкается возвратом на /?sent=1

Обе ветви отказа ведут к ответу 403 CAPTCHA_FAILED — форма сайта показывает посетителю сообщение об ошибке отправки.

Холст после генерации: развилка проверки капчи

Шаг за шагом

1. Выберите провайдера в окне параметров и нажмите «Сгенерировать». Пресет не спрашивает ключи — они вводятся на вашей стороне (см. ниже).

2. Встройте виджет провайдера в форму. У каждого сервиса есть HTML-сниппет для формы (у Turnstile — тег виджета с sitekey). Без виджета токен не появится, и сценарий честно ответит 403 на каждую отправку.

3. Положите SECRET-ключ в «Секреты». Вкладка «Секреты» живёт в разделе «Сайт». Ключ вида turnstile_secret (имя подсказывает окно параметров) вписывается туда один раз, а узел проверки подставляет его по имени — значения секретов не попадают в журнал запусков и экспорт сценария.

4. Проверьте узлы проверки. Узел HTTP POST обращается к siteverify вашего провайдера и передаёт токен из формы.

Инспектор узла проверки токена (siteverify)

Узел JSON-ответ на ветке отказа отвечает кодом 403 — это «вежливый» отказ без подробностей для подглядывающих.

Узел отказа: 403 CAPTCHA_FAILED

5. Сохраните и опубликуйте сценарий («Черновик, превью и публикация»).

Что проверить после генерации

  • Отправьте форму без прохождения капчи (или с испорченным токеном) — ответ 403, заявка в «Отправках» не появилась.
  • Пройдите капчу честно — заявка сохранилась, сценарий продолжился.
  • В журнале запусков отказ капчи виден как обычный запуск с ответом 403 — это штатная работа защиты.

Тонкости

  • Если сервис капчи недоступен, проверка считается непройденной: ответ снова 403. Сомнительные заявки не пропускаются молча — выбирая провайдера, вы выбираете и его доступность.
  • Капча защищает конкретный сценарий. Если форм на сайте несколько, пресет ставится в сценарий каждой формы (или одна общая проверка выносится в начало цепочки — для одинаковых провайдеров).
  • Токен капчи одноразовый: повторная отправка того же токена не пройдёт.

Частые вопросы

Вопрос Ответ
Все отправки дают 403, даже с пройденной капчей Чаще всего не совпадает sitekey/secret-пара или секрет не попал в «Секреты». Сверьте имена: подсказка окна параметров пишет ожидаемое.
Куда ставить галочку «невидимая капча»? Это настройка виджета в разметке формы (у провайдера), сценарий не меняется.
Роботы всё равно долбят форму Тогда 403 они и получают. Для настойчивых ботов смотрите журнал — там видно, что rejection работает.
Можно капчу на форму входа? Технически да, но пресеты авторизации уже содержат свои проверки; капчу обычно вешают на публичные формы заявок и регистрации.

См. также: Узлы-действия: что умеет каждый · Черновик, превью и публикация