
Вы когда-нибудь открывали лог сервера и видели тысячи запросов к /wp‑login.php, /xmlrpc.php или к странным урлам из ниоткуда? Или замечали, что в ваших формах появляются десятки заявок от "Василия Пупкина" с телефоном 000‑000‑0000? Добро пожаловать в клуб. Боты любят ваш сайт. И дело не дизайне или контенте - скорее в дырах, которые вы случайно оставили открытыми. По данным аналитики, более 40% всего интернет-трафика приходится на ботов, и почти половина из них - вредоносные. Если ваш сайт не имеет защиты, он теряет до 30% производительности сервера и до 20% рекламного бюджета на скликивание.
Я много лет занимаюсь защитой сайтов от автоматизированных атак и повидал всё: от примитивных парсеров до ботнетов, эмулирующих движения мыши и использующих резидентские прокси. В этой статье я назову пять самых распространённых причин, по которым боты наводняют ваш сайт, и - главное - расскажу, как это прекратить.
Самая частая и самая глупая ошибка - полное отсутствие какой‑либо проверки на формах. Вы создали форму обратной связи, заказа звонка, комментариев - и просто отправили её на сервер. Боты находят такие формы по стандартным именам полей (name, email, message) и отправляют спам тысячами. Примитивные боты даже не открывают страницу - они шлют прямой POST‑запрос к вашему скрипту обработчика. Этот вид атаки называется CSRF (cross-site request forgery) и легко блокируется простыми средствами.
Как боты находят формы: они сканируют интернет с помощью специальных скриптов, которые ищут теги form и атрибуты action. Если у вас нет защиты, ваша форма становится открытой дверью для спама. Даже дешёвые ботнеты умеют обходить простейшие проверки, но базовые методы всё равно обязательны.
Что делать: добавьте хотя бы простейшую капчу. Google reCAPTCHA v3 работает в фоне и не бесит пользователей. Она возвращает оценку от 0 до 1, и вы можете отсекать запросы с баллом ниже 0,5. Если не хотите капчу - поставьте honeypot (скрытое поле). Это поле не видно человеку (через CSS), но бот его заполняет. Как только поле заполнено - отбрасывайте заявку. Важно не использовать display:none - умные боты игнорируют такие поля. Используйте position: absolute; left: -9999px;.
Эффективно также использовать CSRF‑токены - уникальные одноразовые ключи, которые генерируются при загрузке страницы. Без них POST‑запрос напрямую не пройдёт. Это бесплатно и просто в реализации (пара строк кода на PHP или другом языке). Пример на PHP:
|
1 |
session_start(); $_SESSION['token'] = bin2hex(random_bytes(32)); |
В форму вставляете hidden-поле, а при отправке сверяете.
Также очень эффективно добавление скрытого поля с таймером (timestamp) и проверка, что форма не была отправлена быстрее чем за 2-3 секунды. Это отсекает ботов, которые шлют запросы мгновенно.
Боты сканируют интернет в поисках стандартных путей к панелям управления и известным уязвимым файлам. Например, /wp‑admin и /xmlrpc.php для WordPress, /administrator для Joomla, /phpmyadmin, /.git/config, /backup.zip, /wp‑content/uploads, /vendor и другие. Если такие файлы доступны - боты мгновенно это замечают и начинают брутфорсить пароли или пытаться прочитать ваши данные. По данным Wordfence, более 40% всех атак на WordPress направлены на wp‑login.php и xmlrpc.php.
В 2025-2026 годах атаки через xmlrpc.php всё ещё популярны: боты отправляют запросы system.multicall, пытаясь подобрать пароли к учётным записям. Один такой запрос может попробовать сотни комбинаций логин/пароль за раз. Если у вас не используется XML‑RPC (а он нужен только для мобильных приложений или старых плагинов, например Jetpack) - закройте его полностью в .htaccess или конфиге Nginx.
Что делать: запретите доступ к административным папкам по IP (пропустите только свои адреса). Если вы используете VPN или статический IP, это лучший вариант. Для Nginx пример:
|
1 |
location /wp-admin/ { allow YOUR_IP; deny all; } |
Закройте xmlrpc.php: добавьте правило возврата 403 для всех запросов к этому файлу. Не храните резервные копии в публичных папках - злоумышленники сканируют такие имена, как backup.zip, dump.sql, site_backup.tar.gz. Используйте отдельные каталоги вне корня сайта.
Также проверьте, закрыт ли доступ к каталогу /.git (если вы случайно залили его на сервер). Боты могут скачать исходный код вашего сайта из .git/config и .git/refs. Команда для блокировки:
|
1 |
location ~ /\.git { deny all; } |
Не забывайте про папку с логами - если она доступна, боты могут найти там ценную информацию.
Когда на вашем сайте нет ограничений на количество запросов с одного IP, бот может долбить его со скоростью сотни запросов в секунду. Особенно этим грешат парсеры и сканеры уязвимостей. Они не пытаются скрываться - они просто шлют пачками, пока не упрутся в timeout. В результате ваш сервер захлёбывается, а легитимные пользователи получают ошибки 503 или огромные задержки.
Пример: парсер цен конкурента может за 10 минут обойти весь ваш каталог, скачать все карточки товаров. При этом ваш сервер испытывает колоссальную нагрузку, а вы даже не знаете, откуда приходит трафик. Рейт-лимитинг на уровне веб‑сервера (Nginx или Apache) легко решает эту проблему. Он ограничивает количество запросов с одного IP за единицу времени.
Что делать: настройте limit_req_zone в Nginx, например, не более 30 запросов в минуту с одного IP. Это не навредит реальным людям (ведь обычный пользователь не кликает по 100 страниц за минуту), но жёстко замедлит ботов. Пример конфигурации Nginx:
|
1 2 |
<limit_req_zone $binary_remote_addr zone=site_limit:10m rate=30r/m; server { location / { limit_req zone=site_limit burst=10 nodelay; ... } } |
В Apache используйте модуль mod_evasive: настройте DOSPageCount и DOSSiteCount.
Дополнительно можно настроить лимит на количество одновременных соединений с одного IP (limit_conn) - это защитит от медленных атак типа Slowloris.
Злоумышленники отслеживают выход новых уязвимостей в популярных системах. Как только появляется CVE‑2025‑XXXX для WordPress плагина (например, уязвимость в Elementor или WooCommerce), ботнеты начинают сканировать миллионы сайтов на предмет наличия этого плагина и пытаются его эксплуатировать. Если вы не обновились в течение нескольких дней - вы в зоне риска. По данным статистики, среднее время между публикацией уязвимости и массовым сканированием составляет менее 48 часов.
Особенно опасны уязвимости, позволяющие выполнить код на сервере (RCE) или внедрить SQL‑инъекции. Через такие дыры боты могут не только спамить, но и заразить ваш сайт, добавить скрытые ссылки, украсть базу данных клиентов, установить бэкдор. В 2025 году была массовая атака на плагин WooCommerce - злоумышленники изменяли цены на товары через уязвимость в API.
Что делать: обновляйте ядро CMS, плагины и темы в течение 24‑48 часов после выхода патча. Если разработчик больше не поддерживает плагин - удалите его и найдите альтернативу. Настройте автоматические обновления для критических версий. Используйте системы мониторинга уязвимостей (например, WPScan Vulnerability Database, Patchstack). Подключите WAF, который блокирует известные сигнатуры атак.
Боты могут подделать запрос, если он не требует уникальных одноразовых токенов. Например, к вашему скрипту обработки формы можно обратиться напрямую, подставив свои параметры. Это называется CSRF‑атака (межсайтовая подделка запроса). Бот шлёт POST на /send‑message.php без всяких проверок. В некоторых случаях боты также имитируют реальный браузер, загружая страницу перед отправкой, поэтому нужны дополнительные меры.
Ещё одна распространённая дыра - отсутствие проверки на слишком быстрое заполнение. Боты отправляют форму мгновенно, а человеку нужно несколько секунд, чтобы ввести данные (хотя бы 2-3 секунды на заполнение имени и телефона). Если вы не проверяете разницу между временем загрузки страницы и временем отправки - боты проходят.
Также многие боты игнорируют скрытые поля, если они имеют стандартные имена, поэтому важно давать нестандартные названия honeypot-полям. Кроме того, следует валидировать номер телефона и email на сервере, отбрасывая заведомо неверные форматы.
Что делать: внедрите CSRF‑токен для каждой формы. Добавьте скрытое поле с меткой времени (timestamp) и проверяйте, что форма отправлена не быстрее чем через 2‑3 секунды. Также можно проверять User‑Agent и Referer - хотя их легко подделать, для ботов это барьер. Для продвинутой защиты используйте JavaScript-подпись: генерируйте хеш на основе поведения мыши.
И конечно, не используйте метод GET для форм, которые что‑то меняют в базе данных. Только POST. Дополнительно настройте проверку источника запроса (Origin header) и ограничьте домены, с которых разрешены кросс-доменные запросы.
Такие боты могут существовать месяцами и незаметно парсить цены, скликивать рекламу или подбирать промокоды. Традиционные методы защиты против них бессильны.
Эффективным решением является технология "слепка программы" (software snapshot), которую используют некоторые антибот-системы, например KillBot. Она создаёт уникальный цифровой отпечаток самой программы, которая генерирует трафик. Даже если бот меняет IP, User-Agent и заголовки, его "слепок" остаётся неизменным. Это позволяет блокировать ботов на уровне, недоступном IP-фильтрам и капче.
KillBot предлагает два режима: JS-интеграция (аналитика, без блокировки) и DNS-экран (полноценная защита). DNS-экран фильтрует трафик до того, как бот загрузит страницу. Это не только останавливает фейковые заявки, но и экономит рекламный бюджет (боты не кликают по объявлениям) и снижает нагрузку на сервер. Стоимость KillBot начинается от 1000 рублей в месяц, что окупается при первой же атаке.
Боты - это не хакеры-одиночки, а целая индустрия: от дешёвых парсеров до сложных ботнетов, сдающих мощности в аренду. Они любят сайты, которые не закрыты даже самой простой защитой. Исправив пять вышеперечисленных причин, вы отсечёте 90% автоматического мусора. Оставшиеся 10% - это продвинутые атаки, против которых нужны профессиональные решения наподобие KillBot.
Краткий чек-лист для администратора:
И помните: главное - не откладывать защиту на завтра. Пока вы читали эту статью, какой-нибудь бот уже просканировал ваш сайт на наличие уязвимостей. Но теперь вы знаете, что делать.
Cloudflare окончательно заблокирован в РФ ещё летом 2025 года.
Функцию фильтрации ботов Cloudflare взял на себя российский антибот Killbot.
Принцип работы отличается от привычного, отслеживаются не знакомые всем при настройке других антибот решений параметры (входящие IP адреса, AS подсети ботов, User Agent и прочее, всё это легко подделывается), а уникальные для каждого набора браузеров слепки.
По отличию оригинального браузера от модифицированного, тот или иной заход определяется либо как заход реального посетителя, либо как заход бота.
Чтобы не повторяться - расписывал более подробно в статьях:
Попробовать бесплатно. При регистрации в Killbot введите промокод
promo13
и получите месяц тестирования платного тарифа Killbot (фильтрация трафика, 1000 руб) и Ads (отключение показа рекламы поведенческим ботам, 1000 руб) в качестве бонуса. Этого вам хватит на то, чтобы понять, подходит вам данное решение, или нет. На данный момент - в Рунете нет более достойной альтернативы, по соотношению цена-качество. Срок действия промокода ограничен по времени, куда-то записывать его нет смысла. В следующий раз промокод уже будет другой, поэтому использовать его нужно сейчас, когда вы читаете этот текст. Промокод действует только в форме регистрации. Если аккаунт уже создан - создайте новый, на другой почте, и при регистрации в последнем поле введите промокод.
Подпишитесь на Telegram канал / MAX для того, чтобы всегда быть в курсе последних новостей и обновленных настроек для защиты от ботов, а также оперативно получать новые материалы, выходящие на antibot24.ru

Автор статей: Сергей (AntiBot24). Эксперт в области фильтрации поведенческого трафика, настройки антибот систем. Высший рейтинг на Kwork, более 680 отзывов, 100% заказов успешно сдано, 56% повторных заказов. Пишу подробные статьи, инструкции по фильтрации ботов в своем блоге antibot24.ru
Всегда нужно иметь в виду, что те советы, которые вы прочли в статьях - это лишь часть настроек, которые я делаю при профессиональной экспертной настройке фильтрации поведенческих ботов. Все остальное - это непубличные профессиональные секреты. Любая информация, становящаяся общедоступной - достаточно быстро устаревает и перестает быть эффективной.
Если вы столкнулись с повышенной роботностью в Яндекс метрике, увеличением числа прямых заходов, увеличением количества отказов - вы всегда можете заказать у меня настройку Killbot.