Формы
Как защитить форму от спама без 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).