Добавить в корзинуПозвонить
Найти в Дзене

Спамеры оказались умнее нас: три года борьбы, и мы сдались… но не так, как вы думаете

Когда я пять лет назад запускал конструктор квизов Matomba, я был наивен. Мне казалось, что поставить капчу — и все проблемы со спамом решены. Как же я ошибался. Это история не про «мы придумали супер-пупер защиту и теперь спим спокойно». Это история про гонку, в которой нет финиша. И про то, как мы в какой-то момент поняли: побеждать спамеров в лоб — бесполезно. Пришлось сменить тактику. Всё началось с классики: роботы сканировали страницы, находили поля форм и отправляли заявки. Тупо, эффективно, больно для бизнеса. Мы тогда только перевели проект на Vue. И случайно получили побочный эффект: страницы стали динамическими. Бот заходит — а формы нет, она рендерится в браузере. Спам исчез почти полностью. Я тогда подумал: «Ну вот, вечная проблема решена». Ха. Через пару месяцев спам вернулся. Но это уже были не тупые роботы. Кто-то прошелся по интернету, нашел прямые адреса приема заявок на бэкенде и начал отправлять данные напрямую, минуя интерфейс. Мы внедрили JWT-токены — уникальные м
Оглавление

Когда я пять лет назад запускал конструктор квизов Matomba, я был наивен. Мне казалось, что поставить капчу — и все проблемы со спамом решены. Как же я ошибался.

Кастую заклинание на антиспам
Кастую заклинание на антиспам

Это история не про «мы придумали супер-пупер защиту и теперь спим спокойно». Это история про гонку, в которой нет финиша. И про то, как мы в какой-то момент поняли: побеждать спамеров в лоб — бесполезно. Пришлось сменить тактику.

Глава 1. Роботы-парсеры и первая победа

Всё началось с классики: роботы сканировали страницы, находили поля форм и отправляли заявки. Тупо, эффективно, больно для бизнеса.

Мы тогда только перевели проект на Vue. И случайно получили побочный эффект: страницы стали динамическими. Бот заходит — а формы нет, она рендерится в браузере. Спам исчез почти полностью.

Я тогда подумал: «Ну вот, вечная проблема решена». Ха.

Глава 2. Умные спамеры и JWT

Через пару месяцев спам вернулся. Но это уже были не тупые роботы. Кто-то прошелся по интернету, нашел прямые адреса приема заявок на бэкенде и начал отправлять данные напрямую, минуя интерфейс.

Мы внедрили JWT-токены — уникальные метки для каждого посетителя. Без правильного токена сервер заявку не принимал. Добавили капчу. Спам снова умер.

Я выдохнул. Но ненадолго.

Глава 3. Заказной спам: когда заявку оставляет живой человек

Появилось нечто новое. В нишах с дорогим лидом — недвижимость, финансы, сложные услуги — конкуренты начали использовать сервисы вроде MnogoGolosov. Там за 30 рублей любой человек оставляет заявку на сайте. Зачем? Чтобы сбить аналитику рекламных кампаний конкурента. Рекламные системы видят много конверсий, но все они — мусор. Оптимизация летит к черту, бюджет сливается.

Это уже не боты. Это живые люди, которые за копейки готовы пройти квиз, ответить на вопросы, оставить контакт.

Мы добавили временные метки: если пользователь прощелкал все вопросы за 10 секунд — заявка отклонялась. Начали анализировать цифровой след: IP, устройство, браузер, поведение. Проверяли контакты по базе — если один номер оставлял 20 заявок за час, это становилось очевидно.

Спам снова отступил.

Глава 4. Они вернулись

Но ненадолго. Спамеры тоже не стоят на месте. Они начали чистить куки, использовать динамические IP, проходить формы «до победного» — если заявка отклонялась, они пробовали снова и снова, пока не добивались успеха.

В какой-то момент я понял: мы играем в игру, которую невозможно выиграть жесткой блокировкой. Если заявку отправляет живой человек, он просто будет пытаться снова. А мы будем тратить ресурсы на борьбу с каждым новым обходом.

Нужно было менять подход.

Глава 5. Система смягчения: как мы сдались, чтобы победить

Мы придумали то, что назвали «системой смягчения». Звучит не по-геройски, но это работает.

Суть простая: мы перестали блокировать спамеров. Вообще. Теперь заявка всегда принимается. Спамер видит успешную отправку, радуется и уходит. Ему не нужно пробовать снова, искать обходы, чистить куки. Он удовлетворен.

Но дальше судьба заявки развивается по одному из трех сценариев. Какой именно — решает система на основе десятков параметров, которые мы собирали три года:

Сценарий 1. Тишина. Заявка никуда не отправляется. Ни в CRM, ни в почту, ни в уведомления. Она просто исчезает. Как будто её никогда не было.

Сценарий 2. Черная метка. Заявка попадает в базу с пометкой «спам», но не уходит в интеграции. Операторы её не видят, но мы можем анализировать статистику.

Сценарий 3. Призрачная конверсия. Заявка уходит в CRM с пометкой «спам», но при этом не отправляет конверсию в рекламные системы. Аналитика остается чистой, рекламные алгоритмы не сбиваются, но менеджеры видят, что это мусор, и не тратят время.

Спамер не получает обратной связи. Он уверен, что всё прошло успешно. А бизнес не получает мусор.

Что дальше?

Мы уже начали переход на эту систему. Какой из трех сценариев окажется самым эффективным — покажет время. Но я точно знаю одно: жесткая блокировка в мире, где спам делают живые люди, — это тупик.

-2

Спамеры эволюционируют. Мы тоже. И иногда лучший способ победить — это не ставить стену выше, а просто сделать так, чтобы противник даже не понял, что проиграл.

А вы сталкивались с заказным спамом? Как защищаете свои формы? Делитесь опытом в комментариях — тема актуальна для любого бизнеса, где важен каждый лид.