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

Вы видите в метрике: 300 посетителей за день, 12 заявок. Хорошо. Но то, что статистика не фиксирует - ещё 50-80 «посетителей» прочитали ваши контактные страницы, телефоны менеджеров и контакты из форм. Они не оставили заявку. Они ушли с данными.
Это не взлом и не фишинг. Капчу вы поставили ещё год назад. Она работает. Вот только те, кто собирает данные, её давно не замечают.
Ниже - разбор того, как именно это происходит: пять техник, которыми автоматические системы имитируют человека, почему капча их не останавливает, и что реально можно закрыть.
Про то, как конкурент снимает посетителей в принципе - отдельный разбор в статье о перехвате трафика. Здесь - только про механику ботов и защиту.
Как боты притворяются людьми: пять техник невидимого сбора
В двух словах: современный бот - это не HTTP-запрос, а полноценный браузер с мышью и паузами. Сайт физически не отличает его от вашего клиента.
Когда говорят «бот парсит сайт», большинство представляет скрипт, который делает тысячи запросов в секунду. Так работали боты десять лет назад. Современные системы сбора данных устроены принципиально иначе.
Техника 1: headless-браузер
В основе - полноценный браузер (Chrome, Firefox) без графического интерфейса. Он рендерит JavaScript, исполняет код страницы, видит DOM-дерево. Популярные инструменты - Playwright, Puppeteer, Selenium - изначально создавались для тестирования сайтов, но их активно используют для сбора данных.
Для вашего сервера такой браузер выглядит как обычный посетитель из Москвы с MacBook. Технически - никакой разницы.
Техника 2: имитация движений мыши
Человек не ведёт мышь прямой линией к кнопке - рука чуть дрожит, ускоряется в середине пути и замедляется у цели. Алгоритмы имитации используют кривые Безье с случайным шумом. Поведенческие системы защиты анализируют траекторию - бот воспроизводит её математически.
Техника 3: реалистичные паузы
Человек читает текст перед кликом - делает паузу в 1-4 секунды, иногда скроллит назад. Бот без паузы действует в миллисекундах - это выдавало его в старых системах. Современные парсеры добавляют случайные задержки с нормальным распределением: большинство пауз в районе 1-3 секунд, иногда длиннее. Человеческий паттерн.
Техника 4: имитация набора текста
При заполнении формы человек нажимает клавиши со скоростью 50-200 мс каждая, с вариацией внутри слова. Некоторые системы воспроизводят «опечатку с исправлением» - это повышает доверие поведенческих анализаторов.
Техника 5: спуфинг отпечатка браузера
Каждый браузер оставляет цифровой «отпечаток» - набор характеристик, по которым теоретически можно опознать конкретное устройство. В него входят:
- User-Agent (версия браузера, движок, платформа)
- Canvas fingerprint - уникальный паттерн рендеринга графики: каждая пара «GPU + драйвер» рисует одну и ту же геометрическую фигуру чуть иначе на уровне субпикселей
- WebGL renderer - отпечаток видеочипа и версии драйвера
- Font enumeration - какие шрифты установлены в системе; каждая комбинация уникальна
- Screen metrics - разрешение, DPI, глубина цвета, соотношение device pixel ratio
- AudioContext fingerprint - уникальный шум обработки звука (мало кто знает, но аудио тоже можно отпечатать)
- Timezone offset - зона UTC из браузера vs. IP-геолокации: расхождение выдаёт прокси
- navigator.plugins и navigator.languages - список плагинов и языков
Playwright и аналогичные инструменты позволяют инжектировать произвольные значения для каждого из этих параметров перед загрузкой страницы. Профессиональные сборки парсеров берут реальные «честные» отпечатки с настоящих устройств и воспроизводят их - вплоть до точного соответствия GPU и часового пояса. Такой fingerprint не вызывает подозрений ни у рекламных пикселей, ни у антибот-сервисов.
Отдельно стоит упомянуть spoof навигации: headless-браузер по умолчанию не имеет истории переходов (window.history.length равен 0 или 1), что часть антибот-систем проверяет. Современные инструменты имитируют и это - создают искусственную сессию навигации перед целевым визитом.
Почему CAPTCHA - это чек у кассы, а не сейф
Суть: CAPTCHA проверяет один момент, но контакты и сведения извлекаются до него, после него и часто без него вообще.
CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) решает конкретную задачу: в момент действия определить, человек это или машина. Задача полезная, но она не закрывает утечку контактов по трём причинам.
Проблема первая: контакты доступны до любой формы
Основной набор сведений о компании - прямо в HTML-коде страницы. Номера телефонов в тексте, email-адреса в «контактах», имена сотрудников на странице «команды», структурированная разметка schema.org с реквизитами компании - всё это читается до того, как пользователь видит CAPTCHA. Форму надо заполнять только для отправки заявки. Для сбора контактов - не надо.
Проблема вторая: CAPTCHA решается за деньги
Существуют коммерческие сервисы - «CAPTCHA-фермы». Схема: бот встречает CAPTCHA, передаёт изображение сервису, живой человек (обычно из страны с низкой стоимостью труда) решает её за секунды, ответ возвращается боту. Стоимость - $0.5-3 за тысячу решений. При объёме сбора в сотни страниц в день это несущественные расходы.
Проблема третья: поведенческая капча обходится техниками из предыдущего раздела
Google reCAPTCHA v3 не показывает задание - она анализирует поведение за весь визит. Движения мыши, паузы, скролл, время на странице. Те пять техник выше - это прямой ответ на поведенческие анализаторы. Системы со зрелой имитацией человека получают высокий балл от reCAPTCHA v3 и проходят без задания.
Что именно снимают с вашего сайта прямо сейчас
Без обиняков: с большинства корпоративных сайтов можно извлечь телефоны, email и реквизиты для идентификации организации - без взломов, только из публично доступной разметки страницы.
Номера телефонов
Телефон на сайте отображается для клиентов - значит, он в HTML. Обычно в нескольких местах: шапка, страница контактов, footer. Плюс schema.org-разметка типа LocalBusiness часто содержит структурированный номер - его ещё проще разобрать автоматически.
Многие сайты также содержат номера конкретных менеджеров на страницах «команды» или в подписях писем, встроенных в страницу. Это прямой путь к персональным контактам сотрудников.
Данные из форм захвата
Некоторые формы сохраняют частично введённые символы в DOM до нажатия кнопки отправки. Специализированные пиксели, встроенные в форму, могут считывать заполняемые поля в реальном времени - до того, как пользователь нажал «Отправить». Это задокументированный класс угроз в классификации OWASP Automated Threats.
Поведенческий профиль посетителей
Пикселя аналитики (собственные и сторонние) собирают устройство, IP, время визита, страницы просмотра. Сопоставленные со справочниками телефонных номеров и email, эти параметры позволяют идентифицировать посетителя - даже если он не оставил заявку.
Подробнее об этом - в разборе «Что о вашей компании видно системам сбора».
Как конкурент узнаёт, кому вы звоните, без взлома
Скорость ответа: узнать ваших клиентов и сотрудников можно через открытые реестры - без единого взлома и без доступа к вашей CRM.
Это самый неочевидный вектор, поэтому разберём его подробнее.
Реестры компаний
ЕГРЮЛ и ЕГРИП содержат ФИО директора, адрес, дату регистрации, сведения об учредителях. Арбитражные реестры - названия компаний-контрагентов из судебных дел, суммы договоров, отрасль.
Из этих сведений строится «граф связей»: кто с кем работает, в каких отраслях, какие объёмы. Это вполне достаточно для холодного звонка с правильным контекстом.
Открытые вакансии
HH.ru - публичный источник информации об оргструктуре. Компания ищет «руководителя отдела продаж в направлении X» - это сигнал об изменении команды и фокусе на конкретный рынок. Ищет «менеджера по закупкам» в определённой категории - любая заинтересованная сторона понимает: вы расширяете закупки и скоро будете выбирать поставщика.
Иногда в описаниях вакансий указаны имена контактных лиц или отдела - прямая оргструктура.
Социальные профили сотрудников
LinkedIn, ВКонтакте, корпоративный сайт с блоком «команда» раскрывают имена, должности, иногда прямые телефоны. Методичный сбор по компании даёт полную структуру отдела продаж, маркетинга, закупок.
Об этом подробнее - в инструкции по закрытию сайта от парсеров.
Если хотите понять, какие каналы сбора сейчас открыты для вашей компании - запросить проверку на stopparsing.ru можно бесплатно. Один звонок, никаких обязательств.
Почему HTTPS и firewall не останавливают перехват
Прямо: HTTPS шифрует трафик на пути от сервера к браузеру. Бот - уже в браузере. Firewall блокирует известные паттерны. Жилые прокси с ротацией IP под них не попадают.
HTTPS: защита дороги, не содержимого
TLS-шифрование гарантирует, что трафик между вашим сервером и браузером посетителя не прочтёт никто «в дороге». Это реальная и нужная защита.
Но бот работает из браузера - на стороне получателя. Он видит расшифрованную страницу так же, как её видит обычный клиент. HTTPS здесь не помогает - он создан для защиты данных в транзите, а не от тех, кто уже получил страницу.
Firewall и WAF: паттерн-матчинг не против имитации
Web Application Firewall блокирует запросы по сигнатурам: слишком много запросов с одного IP, известные отпечатки парсеров, запросы без JavaScript-рендеринга. Против старых ботов - работает.
Против современных систем со жилыми прокси и headless-браузерами:
- Жилые прокси (residential proxies) - это реальные IP-адреса обычных пользователей из сети провайдеров. Коммерческие сети насчитывают миллионы таких адресов. Каждый запрос с нового IP - никакого rate-limit по IP не сработает.
- Headless-браузер с имитацией поведения - по сигнатурам неотличим от Chrome 124 на MacBook.
Rate limiting сигнализирует на объём с одного адреса. При распределённом сборе каждый IP делает 1-2 запроса в час - ниже любого разумного порога.
Сводка: что ловят стандартные инструменты и что обходят
| Метод защиты | Что ловит | Что не ловит |
|---|---|---|
| CAPTCHA (reCAPTCHA v2) | Прямой парсинг без JS-рендеринга | Headless-браузер + CAPTCHA-ферма |
| reCAPTCHA v3 (поведенческая) | Очевидно нечеловеческое поведение | Имитация мыши + случайные паузы |
| Rate limiting по IP | Агрессивный обзвон с одного адреса | Жилые прокси с ротацией |
| WAF по сигнатурам | Известные отпечатки парсеров | Playwright с подменой fingerprint |
| HTTPS/TLS | Перехват трафика на уровне сети | Чтение содержимого после рендеринга |
| Блокировка по User-Agent | Устаревшие парсеры с явными маркерами | Headless Chrome со стандартным UA |
Ни один инструмент из таблицы не закрывает канал съёма информации на уровне источника - каждый работает в модели «обнаружить и заблокировать» в реальном времени.
Как это съедает рекламный бюджет
Счёт простой: вы заплатили за клик, посетитель пришёл, ушёл подумать. Его контакт уже в чужой базе - кто-то другой звонит первым.
Разберём цепочку конкретно:
- 1Компания тратит 5 000 рублей на рекламу. Получает 100 переходов.
- 215 из 100 посетителей изучают сайт серьёзно - страница «О компании», прайс, контакты.
- 3Из этих 15 - 8 пока не готовы оставить заявку. Уходят «подумать».
- 4Система сбора данных за это время зафиксировала их контакты из формы, номера с сайта или через пиксель идентификации.
- 5Система агрегации передаёт эти 8 контактов - тёплых, заинтересованных - третьей стороне. Та звонит через час.
- 6В ваших отчётах эти 8 человек - просто «отказы» в воронке.
Денег потрачено: 5 000 рублей. Получено заявок: 7 (остальные 15 минус 8). Реально нагретых контактов, которые вы профинансировали: 15. Из них половина получена конкурентом бесплатно - за ваш счёт.
Это не гипотеза. Статья о том, почему рекламный бюджет может работать на конкурента разбирает математику подробнее.
Как закрыть каналы сбора: что делает StopParsing
Логика защиты: вместо гонки «обнаружить бота» убираем контакты из каналов, которые системы съёма используют. Если нечего извлекать - инструмент автоматического сбора становится неэффективным.
Большинство инструментов защиты от ботов работают по принципу обнаружения: поймать бота, заблокировать IP. Это гонка. Описанные выше техники имитации - прямой ответ на такой подход.
StopParsing работает по другой логике: убирать контакты из доступных каналов съёма. Гнаться за ботами - дорого и бесполезно в условиях жилых прокси и имитации поведения.
Два вектора защиты
Сайт - идентифицировать и собрать контакты ваших посетителей становится значительно труднее. Публичные точки данных (контактные страницы, формы, структурированная разметка) перестают быть легкодоступным источником.
Контакты команды - телефоны менеджеров и руководителей скрываются из открытых каналов сбора. Построить структуру отдела продаж по номерам из публичных баз намного сложнее.
Это принципиальное отличие от узких решений, которые закрывают только один вектор: либо сайт, либо телефоны, но не оба сразу.
Четыре шага работы
- 1Аудит - называете домены и контакты сотрудников. Получаете конкретную картину: какие именно каналы открыты для сбора прямо сейчас. Старт бесплатный.
- 1Расчёт - определяем объём защиты по реальным данным аудита. Цена зависит от числа доменов и контактов, а не от «тарифного плана».
- 1Закрытие каналов - домены и контакты попадают под защиту в рамках собственной и партнёрской инфраструктуры StopParsing.
- 1Мониторинг - отслеживаем новые каналы, подключаем новые домены и контакты по мере роста.
Правовое поле
Работаем строго в рамках 152-ФЗ. Защищаем только ресурсы клиента - его домены и контакты его команды.
StopParsing входит в экосистему LEADLIFE: DataLead помогает находить тёплых клиентов, StopParsing - следить, чтобы ту же логику не применяли к вам.
С чего начать: первый шаг к закрытию каналов
Первый шаг: понять масштаб - что именно о вас сейчас видно для автоматических систем. Это один звонок и передача списка доменов.
Получаете конкретную картину: какие контакты и данные доступны «с улицы», без каких-либо взломов - только через публичные точки вашего цифрового присутствия.
После аудита становится ясно:
- Какие именно каналы открыты
- Что закрыть в первую очередь
- Какой объём защиты нужен под ваш размер компании
Цена - по результатам аудита. Никаких «пакетов вслепую»: платите только за то, что реально нужно закрыть в вашем конкретном случае.
Начать бесплатный аудит на stopparsing.ru
Снизить риск реально - исключить не обещаем
Честно: никакая защита не даёт абсолютной гарантии. Ни CAPTCHA, ни StopParsing, ни что-либо ещё. Угрозы эволюционируют.
Что мы закрываем - снижаем риск ощутимо. Собрать данные с защищённого сайта становится намного сложнее, идентифицировать сотрудников по номерам - значительно труднее.
Разница между «есть возможность собрать» и «есть возможность собрать при умеренных затратах» - принципиальная. Большинство систем перехвата работают там, где дёшево и просто. Закрыть дешёвые каналы - убрать 80-90% угрозы.
Источники
- 1OWASP Automated Threats to Web Applications - классификация угроз от автоматических систем: owasp.org/www-project-automated-threats-to-web-applications
- 2Imperva Bad Bot Report 2023 - ежегодный отчёт о доле бот-трафика в интернете: imperva.com/resources/resource-library/reports/bad-bot-report
- 3Google reCAPTCHA v3 Developer Guide - официальная документация: developers.google.com/recaptcha/docs/v3
- 4Cloudflare Blog - технические описания работы бот-нетворков и методов обхода: blog.cloudflare.com
- 5W3C Credential Management API - стандарт управления учётными данными в браузерах: w3.org/TR/credential-management-1
Если вы дошли до этого места - скорее всего, вопрос безопасности бизнес-информации для вас не абстрактный. Начните с бесплатного аудита - узнайте, что именно сейчас открыто.
Цифры и формулировки - из практики и базы знаний LEADLIFE. Кейсы отражают результаты конкретных клиентов и не являются гарантией аналогичного результата.
Посчитаем, сколько клиентов вы теряете
Разбор под вашу нишу: сегменты, цена контакта, что делает отдел продаж. Без обязательств.
Получить расчёт и подарокЧитать дальше
С чего начинается защита от парсинга: аудит периметра за 4 шага
Большинство компаний начинают защиту от парсинга без аудита - и закрывают не те точки. Разбираем 4 вектора проверки периметра.
ЧитатьCallLeadНедозвон не тарифицируется: как устроена оплата за диалог в обзвоне
Разбираем модель оплаты CallLead: за что берут деньги, что такое «состоявшийся диалог» и как это меняет экономику обзвона.
ЧитатьWantLeadПиксель WantLead: как он видит посетителей сайта и что с ними делает
Каждый день на ваш сайт заходят люди, которые ищут то, что вы продаёте. 98% из них уходят без заявки. Пиксель WantLead видит их - разбираем, как именно.
Читать