Защита сайта от накрутки ПФ: превращаем ботов в тормоза для их серверов

Накрутка поведенческих факторов (ПФ) — это распространённая проблема, с которой сталкиваются владельцы сайтов. Боты имитируют поведение пользователей, чтобы повысить или понизить позиции сайтов в поисковой выдаче. В этой статье я расскажу, как защитить сайт от накрутки, перегрузив сервер бота.

Я Григорий Мельников, создатель сервиса защиты сайта KillBot, расскажу как сделать так, чтобы бот обходил твой сайт стороной.

Идея блокировки бота

Как я неоднократно писал ранее, боты — это не разрозненные программы. Бот — это программное обеспечение, которое работает на одном сервере и имитирует сотни ботовских сессий.

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

Однако нужно подождать, пока администратор обнаружит, что сервер работает некорректно. Это может занять до недели, так как ботовский софт обычно работает стабильно и не требует ежедневного контроля. Также потребуется квалификация администратора, чтобы он смог определить, что проблема связана именно с вашим сайтом.

Как в бот-софте прописываются сайты для накрутки?

В ботовском софте сайты для посещения и накрутки обычно задаются вручную. Там же существует список исключений — игнор-лист, куда добавляют сайты, на которые кликать нельзя. Вот пример настроек:

c0c6a1cf0eacc6665df7b31897ea5a4d.png

Поэтому, администратору софта исключить глючный сайт из цепи не составит труда.

Кто генерирует ботов и каким софтом?

Можно прочитать в моей другой статье: https://habr.com/ru/articles/813545/

Пример блокировки бота на практике

На графике ниже видно резкое падение числа заходов бота после того, как его сервер начал испытывать нагрузку.

adffe27b4f297e8f1b2ce5bb563b6261.png

Этот эффект был достигнут за счёт перегрузки сервера бота, что сделало его дальнейшую работу нецелесообразной.

  • 6 ноября: Включено зацикливание для основного бота. В результате трафик ботов упал в два раза — серверу стало сложнее обрабатывать заходы.

  • 12 ноября: Второй скачок падения трафика. Вероятно, сайт был исключён из накрутки.

Не все боты били исключены, так как зацикливание было применено только для самого популярного бота.

Важно! ваш сайт — не единственный, который «крутит» бот. Если бы он был один, сервер бы полностью встал. Однако, отдельные нагруженные процессы будут копиться и тормозить сервер. Подвисшие процессы обычно завершаются по таймауту, если бот написан грамотно. Пока процесс не завершён, на него расходуются процессорное время и оперативная память.

Как реализована перегрузка бота в KillBot?

Чтобы включить зацикливание бота, нужно:

  1. Найти слепок бота в интерфейсе KillBot.

  2. Слева в меню действий выбрать «Зациклить».

7526b23d0a7daf36d465b193f7ce443e.png

Для проверки можно нажать на ссылку «Тест». В этом случае сайт ответит так, будто заход выполнен ботом с нужным слепком, и запустит процесс зацикливания.

Внимание! Зацикливание НЕ коснётся реальных пользователей. Зависнут только сессии бота.

Как работает скрипт зацикливания?

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

    

Как протестировать скрипт?
Осознанно скопируйте ссылку для зависания вкладки: https://data.killbot.ru/cpu.html — и вставьте в поле браузера.
Вкладка зависнет, можно так же посмотреть на потребление ОЗУ и процессора. Далее закройте вкладку.

В KillBot также есть альтернативный вариант для устройств с отключённой поддержкой Canvas — скрипт на нативном JavaScript, который создаёт высокую нагрузку на процессор и память.

Как отбелить бота, если вы сами крутите ПФ?

Для этого можно нажать на ссылку «Изменить на пользователя». Все визиты этого бота будут расцениваться как визиты настоящих пользователей.

d691ba765d29799ebfd4050d85b59198.png

Работают ли поведенческие факторы сейчас?

Да, работают. Можете обзвонить SEO-студии и напрямую спросить, занимаются ли они накруткой. Зачастую они не признаются, но если предлагают тест с демонстрацией роста позиций, это значит что они используют ПФ.

Как выявить прокси и VPN-заходы?

В следующем посте я расскажу о методах обнаружения прокси и VPN, которые не загуглить. Визиты сайта через прокси или VPN будут помечены в метрике. Этот пост я выложу в своём Telegram-канале: https://t.me/KillBotRus, поэтому подпишитесь на него,  чтобы не пропустить этот интересный материал.

А в моем предпоследнем посте я рассказываю про защиту сайта через DNS-прокси и методы выявления фейковых поисковых ботов.

© Habrahabr.ru