Формы

Как защитить форму от спама без CAPTCHA

Как работает антиспам Deploya, какие проверки включены по умолчанию и когда стоит включать кириллицу, ссылки и стоп-слова.

Спам-боту необязательно нажимать кнопку на сайте. Он может отправить POST-запрос прямо на адрес формы, подставить случайные поля или открыть страницу в автоматическом браузере. Поэтому одной скрытой ловушки недостаточно: надёжнее сочетать несколько независимых проверок и не делать каждую из них слишком строгой.

В Deploya антиспам настраивается отдельно для каждого проекта: **Формы → проект → Антиспам**. CAPTCHA посетителю проходить не нужно, а базовая защита уже работает после подключения формы.

## Что включено по умолчанию

Новый проект получает набор неагрессивных проверок, которые подходят большинству сайтов:

- подписанный токен подтверждает, что запрос относится к открытой странице проекта;
- невидимая ловушка отмечает ботов, которые заполняют все поля подряд;
- схема формы отклоняет случайные поля, которых нет в опубликованном HTML;
- повтор одинаковой заявки распознаётся и отделяется от новых обращений;
- ограничения частоты останавливают слишком много запросов от одного источника;
- проверка опасных конструкций отсеивает команды и технические попытки атаки;
- время заполнения помогает заметить мгновенную автоматическую отправку;
- анализ содержимого складывает несколько слабых признаков, а не блокирует сообщение по одному слову.

Deploya автоматически добавляет защитный токен и ловушку при отдаче страницы. Вручную вставлять скрытые поля в HTML или менять AJAX-обработчик не нужно.

## Почему один признак не решает всё

Сообщение на английском может быть настоящим, а ссылка может вести на портфолио клиента. Поэтому отсутствие кириллицы или одна ссылка только повышают оценку риска. Заявка попадает в спам, когда одновременно совпадает несколько признаков: например, шаблонное SEO-предложение, ссылка, иностранный текст и сходство с уже отклонённой рассылкой.

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

## Какие проверки включать осторожно

Во вкладке «Антиспам» есть дополнительные правила. Они полезны не каждому проекту:

- **Браузерные признаки** — строже проверяют, что посетитель действительно открыл страницу. Могут мешать собственной нестандартной интеграции, которая отправляет запрос без браузера.
- **Кириллица** — подходит форме российского локального бизнеса, если нормальные обращения почти всегда содержат русский текст. Не включайте её для международной аудитории, формы только с телефоном или email.
- **Ссылки** — задайте допустимое количество ссылок. Для короткой формы обратного звонка обычно достаточно нуля, для брифа или формы партнёрства ссылки могут быть нормальными.
- **Стоп-слова** — добавляйте характерные фразы из повторяющейся нежелательной рассылки, а не общие слова вроде «сайт», «цена» или «услуга».

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

## Практические настройки

Для сайта на русскую аудиторию начните с настроек по умолчанию. Если приходит массовая англоязычная SEO-рассылка, включите ограничение ссылок, затем добавьте две-три устойчивые фразы этой кампании в стоп-слова. Требование кириллицы включайте только если уверены, что реальный клиент обязательно пишет по-русски.

Для международного сайта оставьте проверку кириллицы выключенной. Используйте схему полей, токен, ловушку, дубли, частотные ограничения и анализ содержимого. Это не отбрасывает корректное английское обращение только из-за языка.

Для формы с собственным JavaScript используйте стандартную отправку `FormData` или `URLSearchParams`. Если внешний сервис отправляет данные прямо на адрес формы, сначала проверьте его тестовой заявкой: строгие браузерные признаки рассчитаны на посетителя страницы.

## Что происходит с отфильтрованной заявкой

Подозрительное сообщение получает обычный успешный ответ. Бот не узнаёт, какая проверка сработала, и не может быстро подстроиться. Запись появляется в папке «Спам», не уходит в Telegram, email или webhook и автоматически удаляется через 30 дней.

Если проверка ошиблась, откройте сообщение и нажмите «Не спам». Оно вернётся в заявки. Папка спама нужна именно для такой проверки: защита не должна безвозвратно удалять потенциального клиента.

## Короткий порядок настройки

1. Подключите форму и отправьте обычную тестовую заявку.
2. Откройте «Антиспам» и оставьте базовый набор включённым.
3. Не включайте все строгие правила заранее — сначала посмотрите, какой спам действительно приходит.
4. Для повторяющейся рассылки добавьте точные стоп-фразы и подходящий лимит ссылок.
5. Иногда проверяйте папку «Спам» и восстанавливайте ошибочно отфильтрованные обращения.

Все параметры сохраняются автоматически. Полная схема подключения формы и описание AJAX-отправки находятся в [документации Deploya](https://docs.deploya.ru/forms).

Все статьи