Как запретить доступ спам ботам на сайт

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

Несколько дней назад резко поднялась посещаемость одного из сайтов. В среднем стабильная посещаемость была около 1000 уников в сутки. За 3-4 дня выросла до 15000 и росла с каждым днём, добавляя по 3000 - 4000 посещений в сутки. Образовалось существенное различие в качестве трафика: раньше 80% приходило от поисковиков, теперь 90% прямой трафик.

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

Почему спам-боты атакуют сайты?

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

  1. Конкуренты заказали "похороны" вашего сайта. Они используют уязвимости для нанесения вреда.
  2. Недобросовестные агентства по продвижению сайтов. Они занимаются так называемым спамдексингом – комплексом методов для недобросовестного продвижения своего контента, который иначе не будет ранжирован.

Как искать спам бота на сайте и что делать?

Не рассчитывайте на то, что остановить атаку ботов помогут штатные средства хостинга или поисковых систем. У меня вообще остался большой осадок от реакции техподдержки хостинга и Яндекса.

Хостинга потому, что отсутствует вменяемая защита сайтов. Несмотря на то, что хостинг далеко не самый дешёвый.  А их предложение перейти на выделенный сервер, который стоит как вертолёт, наводило на мысли о разводе...

Яндекс же оказался сам основным поставщиком ботов на сайт. Их нейросети не идентифицируют заходы как спам, потому что программисты у нас грамотные и в параметрах бота задают реальные поведенческие факторы.

Основные инструменты для выявления ботов на сайте

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.

Добавить комментарий