Статью о том, как запретить спам ботам заходить на сайт пишу в основном для себя. Чтоб не забыть алгоритм действий в случае, если атака повторится на какой-нибудь из сайтов, которым я оказываю техподдержку.
Несколько дней назад резко поднялась посещаемость одного из сайтов. В среднем стабильная посещаемость была около 1000 уников в сутки. За 3-4 дня выросла до 15000 и росла с каждым днём, добавляя по 3000 - 4000 посещений в сутки. Образовалось существенное различие в качестве трафика: раньше 80% приходило от поисковиков, теперь 90% прямой трафик.
Как я гоняла спам ботов на сайте интернет-магазина можно долго рассказывать и не весь текст будет цензурным. Меня всё время преследовал страх, что сайт попадёт в бан за накрутку посещаемости. И страх, что хостинг отрубит сайт за превышение нагрузки на сервер.
Почему спам-боты атакуют сайты?
Причин может быть много. Как правило, ботофермы используют какую-то нечистую накрутку, после которой сайт может потерять страницы в индексе и вообще уйти в бан. Основные из них:
- Конкуренты заказали "похороны" вашего сайта. Они используют уязвимости для нанесения вреда.
- Недобросовестные агентства по продвижению сайтов. Они занимаются так называемым спамдексингом – комплексом методов для недобросовестного продвижения своего контента, который иначе не будет ранжирован.
Как искать спам бота на сайте и что делать?
Не рассчитывайте на то, что остановить атаку ботов помогут штатные средства хостинга или поисковых систем. У меня вообще остался большой осадок от реакции техподдержки хостинга и Яндекса.
Хостинга потому, что отсутствует вменяемая защита сайтов. Несмотря на то, что хостинг далеко не самый дешёвый. А их предложение перейти на выделенный сервер, который стоит как вертолёт, наводило на мысли о разводе...
Яндекс же оказался сам основным поставщиком ботов на сайт. Их нейросети не идентифицируют заходы как спам, потому что программисты у нас грамотные и в параметрах бота задают реальные поведенческие факторы.
Основные инструменты для выявления ботов на сайте
1. Хостинг
Первым делом идём на хостинг и смотрим нагрузку на сервер. Если нагрузка критическая, пишем в техподдержку о том, что знаете о проблеме и принимаете меры. Это важно сделать, потому что некоторые хостеры блокируют сайт без предупреждения.
2. ЯндексМетрика
В разделе "Источники" - "Сводка" можно посмотреть откуда приходят посетители. Из каких поисковых систем, по ссылкам с каких сайтов или соцсетей и т.п. Там же выявляем средства, через которые заходят на сайт. Заходы спам ботов осуществляются через смартфоны. Здесь видно, что основной источник спама - прямые заходы.
3. Вебвизор
С его помощью легко определяется логика спамных визитов:
- время на сайте значительно меньше 1 секунды;
- интервал визитов 2-3 секунды на одну и ту же страницу;
- у всех визитов маленькое разрешение экрана;
- заходы поступают без паузы круглые сутки.
По всем параметрам типичный спам, который направлен на снижение поведенческих метрик сайта. Теперь наступает самая сложная задача — это выявить самого спамера. Хуже того, он может быть не один, как в моём случае.
4. Логи сервера
Определить IP бота можно по логам сервера. Открываем содержимое сервера любым FTP-клиентом и ищем файл в котором отражаются все параметры визитов. В моем случае это файл error_log. Открываем программой Notepad++. Внимательно изучаем логи и находим закономерности:
- одинаковые IP-адреса;
- одинаковые устройства (как правмло - смартфоны);
- одинаковая маска подсети по которой можно определить источник на сайте: 2ip.ua/ru/services/.
Здесь видно, что бот не один и ломится через форму обратной связи.
Выявляем устройство и маску сети оператора.
Как запретить спам боту заходы на сайт
После того, как все танцы с бубнами выполнены успешно и мы узнали "врага в лицо" начинаем адскую пляску со скриптами. Вам повезёт, если вы без труда определили IP адреса и их не много. Беда в том, что они постоянно меняются и в этом случае стандартный скрипт вам не поможет. А другие скрипты, которые можно нагуглить либо рушат сайт, либо ничего не решают.
Шаг первый: Закрываем на сайте возможность долбиться на проблемную страницу или в контактную форму. Страницу или запись отправляем на утверждение или в корзину. Контактную форму отключаем.
Шаг второй: Обновляем CMS, плагины и тему.
Шаг третий: Открываем FTP-клиент и переходим в корень сайта на сервере, где находим служебный файл .htaccess. Открываем все в той же программе Notepad++ для редактирования.
ВАЖНО! .htaccess — это конфигурационный файл веб-сервера Apache. Этот веб-сервер имеет несколько версий. И если Вы пропишете директиву не в ту версию - сайт склеит ласты. Поэтому предварительно посмотрите какой версии Apache стоит у вас.
В .htaccess задаём команду для блокировки бота по IP-адресу, который определили по логам. Но лучше заблокировать подсеть, т.к. боты моментально меняют айпишники.
В Apache 2.4:
<RequireAll>
Require all granted
Require not ip 176.59.123
</RequireAll>
В Apache 2.2:
Deny from 185.176.24
Важно заблокировать IP на уровне сервера. Другие способы мне лично не помогли. А опробовала я их кучу несметную за трое суток...
Могу порекомендовать сайт, где описаны другие случаи и другие варианты блокировки очень вменяемо, а главное без ошибок в скриптах - https://suay.ru/?p=5373.