Часть трафика любого сайта делают не люди. Парсеры копируют каталоги и цены, сканеры ищут уязвимости, боты накручивают поведенческие факторы и спамят в формы. Такой трафик искажает статистику, нагружает сервер и открывает дорогу к взлому. Разберём, как работает защита от ботов и на что смотреть при выборе сервиса.
Чем вредит бот-трафик
- Искажает аналитику. Прямые заходы с отказом 100% и временем на сайте 0 секунд портят показатели Яндекс.Метрики, и по ним нельзя принимать решения.
- Нагружает сервер. Агрессивный парсер за минуту делает сотни запросов, сайт замедляется для настоящих посетителей.
- Крадёт контент и цены. Каталог и описания копируются на чужие сайты.
- Ищет уязвимости. Сканеры пробуют типовые пути админок, SQL-инъекции и подбор паролей.
- Спамит в формы. Заявки с формы приходят пачками, а настоящие теряются среди мусора.
Как отличают бота от человека
По User-Agent
Самый простой способ: сверить строку User-Agent со списком известных ботов. Он быстрый, но слабый: User-Agent подделывается одной строкой, а бот легко представляется браузером Chrome.
По IP-адресу и провайдеру
Настоящие посетители приходят с домашних и мобильных сетей. Если заход идёт с адреса датацентра или облачного провайдера (AWS, Google Cloud, Tencent Cloud), а User-Agent у него обычный браузерный, это повод для дополнительной проверки.
По поведению
Сотни запросов с одного адреса за пять минут, обращения к нескольким сайтам подряд, отсутствие заголовка Accept-Language, POST-запросы в форму без перехода со страницы сайта. Эти признаки сложнее подделать, чем User-Agent.
Проверкой настоящих поисковых ботов
Googlebot и YandexBot подделывают очень часто, поэтому защита обязана отличать настоящего робота от самозванца. Для этого используют обратную DNS-проверку: IP превращают в имя, имя обратно в IP, и оба результата должны совпасть, а домен принадлежать поисковику. Иначе защита рискует заблокировать настоящих роботов и убрать сайт из выдачи.
Тихой проверкой браузера
Подозрительному посетителю не показывают капчу, а запускают короткую проверку выполнения JavaScript. Настоящий браузер проходит её незаметно, скрипт-парсер не проходит.
Как выбрать сервис защиты от ботов
- Не блокирует поисковых роботов. Спросите, как сервис отличает настоящий YandexBot от подделки.
- Работает не только по User-Agent. Нужен анализ IP, провайдера и поведения.
- Не мешает посетителям. Капча на каждый заход снижает конверсию. Лучше тихая проверка и капча только в сомнительных случаях.
- Показывает статистику. Вы должны видеть, кого и почему заблокировали.
- Просто подключается. Идеально, когда это один фрагмент кода без правки движка сайта.
- Не ломает сайт при сбоях. Если сервис защиты недоступен, сайт должен продолжать работать.
Как это устроено в bot-guard
В bot-guard перед заходом проверяются User-Agent, IP-адрес, провайдер (датацентры и облака), признаки поведения и отправка форм без перехода с вашего сайта. Поисковые роботы подтверждаются обратной DNS-проверкой, подозрительным визитам даётся тихая проверка браузера. В личном кабинете видно, какие заходы заблокированы и по какой причине.
Подключение сводится к вставке PHP-кода на сайт. Если вам нужно подключить защиту на 1С-Битрикс, WordPress или самописном движке и настроить её под задачу, это делает команда oWeb Solutions: мы разработали bot-guard и подключаем его клиентам.
Добавить сайт и посмотреть, сколько ботов на нём бывает, можно на главной странице bot-guard.ru. Про реальный пример читайте в статье как мы поймали прокси-ботнет и SQL-инъекцию на клиенте за один день.
См. также: Боты на сайте: 21 тип автоматизированных угроз по классификации OWASP, где разобрано, как каждая угроза выглядит на сайте и где её искать.
См. также: DDoS-защита и защита от ботов: в чём разница и как остановить спам-заявки и фейковые регистрации.
Защитите свой сайт от ботов прямо сейчас
Подключение занимает несколько минут — вставьте один PHP-сниппет, и Bot Guard начнёт фильтровать ботов, скрейперов и попытки SQL-инъекций автоматически.