Антибот - защита сайта по слепку бота. Антифрод для сайта.

Как защитить сайт от бота: Антибот от KillBot

Содержание

  1. Принцип работы антибота KillBot
  2. Посмотрите видео-обзор сервиса KillBot.
  3. Алгоритм работы c KillBot
  4. Как посмотреть слепок бота в метрике?
  5. Параметры, которые KillBot отправляет в метрику
  6. Как создать группу слепков ботов или браузеров
  7. Как добавить слепок в группу
  8. Основной и Детализирующий слепки браузера и бота
  9. Видео как блокировать бота по слепку?
  10. Как создать скрипт выявления ботов?
  11. Слепки пользователей и слепки ботов - как их использовать
  12. Как именно нужно добавлять слепок бота в группу.
  13. Признаки ботов и настоящих пользователей.
  14. Как проверить, что все настроено правильно и антифрод KillBot отрабатывает как нужно?

1. Принцип работы антибота KillBot

99% заходов на сайт идут с популярных браузеров - это Chrome, Safary, Firefox. Бот, это тот же браузер, но под программным управлением. Движек KillBot строит слепок браузера. Есть белые списки - слепки настоящих браузеров. Есть списки слепков настоящих ботов.

Вы можете самостоятельно создавать слепки ботов именно вашего сайта и блокировать только их. Как правило 1-3 слепка заблокируют 95% ботов.


2. Посмотрите видео-обзор сервиса KillBot.

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


Алгоритм работы c KillBot

  1. Начинайте работать с аналитики - чтобы KillBot только анализировал трафик. Запустите скрипт Killbot с параметрами по умолчанию (без капчи, создания списка ботов и т.п). Обязательно пропишите номер счетчика метрики. Изучите параметры, которые KillBot отправляет в метрику
  2. Через час после запуска, зайдите в метрику - вебвизор и убедитесь, что данные от KillBot поступают и каждый заход помечается как бот или нет. Как включить отображения параметров KillBot в метрике смотрите здесь: Как смотреть ботов и слепок браузера в метрике.
  3. Ждем сутки, пока будет собрано достаточно данных для анализа ботов (50-100 посетителей, можно и меньше, если все боты с одним слепком).
  4. Выявляем ботов по вебвизору. Внимание! ботов нужно выявлять только по однозначным признакам - одной красной точки активности не достаточно чтобы присвоить визит боту. Сайт прогрузился в списке только в списке вкладок - вот вам и красная точка. Как правильно выявлять бота смотрите здесь: Как распознать бота в метрике.
  5. Выявляйте свои признаки бота касательно именно вашего случая. Боты могут быть очень хорошо написаны.
  6. Когда визиты с ботами выявлены. Решите как именно вы будите фильтровать трафик:
    - можно разрешить заходы всем, кроме ботов из списка только вашего сайта,
    - можно запретить заходы всем, кого нет в списке настоящих браузеров,
    - можно комбинировать методы.
    Подробнее почитайте о том, Слепки пользователей и слепки ботов - как их использовать для фильтрации трафика.
  7. Создайте группу со слепками ботов именно вашего сайта. (Если решили блокировать трафик по группе ботов). Как это сделать написано здесь: Как создать группу слепков
  8. В настройках скрипта выделите вашу группу ботов в "Слепки ботов".
  9. Проверьте, что все настроено правильно и антифрод KillBot отрабатывает как нужно: здесь.

4. Как посмотреть слепок бота в метрике?

Зайдите в вебвизор Яндекс Метрики и настройте, чтобы отображались колонки "Параметры визита" или ""Параметры посетителя".

Как смотреть слепок браузера в Метрике: Антифрод KillBot

 

Или посмотрите видео о том, как смотреть ботов в метрике


5. Параметры, которые KillBot отправляет в вебвизор

В параметрах посетителя:

  • bl (BlackList) - присутствует ли слепок в черном списке: Если bl = true, то слепок захода в списке ботов
  • wl (WhiteList) - присутствует ли слепок в белом списке: Если wl = true, то слепок захода в списке настоящих браузеров
  • capt (Captchs) - была ли показана капча: Если capt = false, то капча показана не была.
  • d (Deny) - был ли запрет входа на сайт: Если deny=false, то запрета на вход не было.
  • fraud - Результат проверки пользователя: Если fraud = false, значит настоящий пользователь.
  • inf - показывать ли капчу бесконечно: Если inf = true, то капча будет показываться бесконечно
  • l (loaded) - все ли данные для расчета слепка получены: Если loaded=true, значит скрипт прогрузился штатно и все данные по слепку пришли на сервер KillBot
  • sess (session) - номер сессии
  • snsht (snapshot) - основной слепок браузера (бота)
  • snsht_d - детализирующий слепок браузера (бота)

6. Как создать группу слепков ботов или браузеров

KillBot работает не со слепками по отдельности, а с группами слепков. Это дает возможность сразу группу слепков обработать как настоящих пользователей или настоящих ботов. 
Чтобы создать группу слепков в левом меню заходим в "Группы слепков": https://killbot.ru/snapshots/list и нажимаем на ссылку "Создать группу слепков": https://killbot.ru/snapshots/create :

Как создать группу слепков для блокировки ботов

Далее создаем новую группу:

Название и описание группы слепков браузера

Как добавить слепок в группу


Для добавления слепка в группу нажмите на ссылку "Добавить слепок" в левом меню: https://killbot.ru/snapshots/add :
 

Как добавить слепок браузера в группу для блокировки ботов

 

В поле "Сессия" введите параметр 'sess' из параметров визита (которые доступны в Яндекс Метрике).
Далее выберите Группу, в какую добавить слепок. И выберите какой именно слепок добавить основной или детализированный.

Основной и детализированный слепки браузера. Выберите какой тип слепка добавить в группу.

Основной и Детализирующий слепки браузера и бота

Основной слепок - это слепок широкого спектра - слепок самой программы выхода в интернет. Например. Слепок браузера хром версии 122 на Windows 10 будет одинаковым и у меня и у моего партнёра из Китая. Основной слепок - это слепок основной программы.

Основной слепок отфильтрует основную массу ботов, так как основная их часть написана грубо и не повторяет слепка настоящего браузера.
НО! существуют боты, которые могут повторить основной слепок настоящего браузера. Как раз для этого был введен детализирующий слепок.

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


Видео как блокировать бота по слепку?

Как заблокировать бота по слепку я проговариваю в видео с этого момента: https://youtu.be/d_4Ic5A_30s?si=VkDvfkIrkiNgKMpf&t=630


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

Фильтрация ботов осуществляется установкой на сайт скрипта KIllBot. Скрипт может быть установлен в двух вариантах: 'Скрытая установка' и 'Экран KillBot'. Скрытая установка работает незаметно для пользователя, может собирать аналитику и блокировать счетчик метрики для бота. Экран KillBot может полностью предотвратить заход бота на сайт, покатать капчу или просто собирать аналитику - все эти режимы гибко конфигурируются.
Для создания скрипта KillBot нажмите в левом меню "Создать скрипт": https://killbot.ru/script/get-code :

Создание скрипта для фильтрации ботов

Обязательно укажите номер счетчика метрики, и тип установки - скрытая установк или экран. Остальные параметры можно оставить по умолчанию. Далее читайте как именно нужно работать со слепками пользователей или ботов.


Слепки пользователей и слепки ботов - как их использовать

При создании скрипта защиты от ботов нужно решить как именно фильтровать трафик. Есть три способа:
 

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

Для тех, кто желает работать по первому способу, в слепках пользователей выберите группы соответствующие настоящим браузерам (создавайте и свои группы), в слепках ботов групп выбирать не надо, "Визит с неизвестным слепком это" Бот:

Боты - это те, кого нет в списке браузеров

Кто желает работать по второму способу, в слепках пользователей группы выбирать не надо, в слепках ботов выбираем нужную группу ботов. Ставим "Визит с неизвестным слепком это" Пользователь:

Как фильтровать ботов

Кто желает работать по третьему способу, в слепках пользователей группы выбираем группы пользователей настоящих браузеров, в слепках ботов выбираем нужную группу ботов. Ставим "Визит с неизвестным слепком это" Бот:

Настройки для фильтрации ботов по списку пользователей и ботов

 

Остальные настройки можете оставить по умолчанию, или выставьте по своему усмотрению.


Как именно нужно добавлять слепок бота в группу.

И так - вы выявили визит, который принадлежит боту. Для начала вам нужно посмотреть как его классифицировал KillBot по умолчанию. Посмотрите параметр fraud - если fraud = true - значит слепка бота нет в списке настоящих браузеров и KillBot пометил визит как бот. Можете поместить данного бота в группу со слепками ботов (при добавлении бота в группу выберите - "основной слепок") - в этом случае можно будет фильтрацию настроить так, что все кто не в группе ботов - настоящие пользователи. 

Если fraud = false - это значит, что слепок бота есть в списке настоящих браузеров. В этом случае для фильтрации нужно использовать детализирующий слепок (при добавлении бота в группу выберите - "детализирующий слепок"). Чем отличаются основной и детализирующий слепок написано здесь.


Признаки ботов и настоящих пользователей.

Признаки ботов:
- в вебвизоре одинаковая активность
- нет достижения целей характерных только для пользователей (оплаты)
- нет осознанного взаимодействия с активными элементами (калькулятор, например)
- слепки браузера в большинстве своем одинаковы
- неоправданно большое время просмотра страницы (бот тупит на одной странице 4 минуты, например, - а там и читать нечего)
- просмотры неинформативных страниц (пользовательское соглашение, политика возврата и т.п.)
- скролит поверх попапа
- переходит по тематически не связанным ссылкам
- кликает по прозрачным ссылкам (которые не видны пользователю, присутствуют на экране KillBot)

Признаки настоящих посетителей: 
- большой разброс активности - от 1 до 5-ти
- осознанное взаимодействие с сайтом: листание галереи, нажатие крестиков закрытия попапов, увеличение элементов изображения, использование калькулятора и т.п.
- существуют конверсии по типу оплата
- большое время пребывания по вебвизору - более 20-30 минут (не закрытая вкладка браузера). Бот посетил сайт и закрыл его. Настоящий же пользователь может оставить сайт открытым в другой вкладке на долгое время.
- большой разброс слепков браузера

 


Как проверить, что все настроено правильно и антифрод KillBot отрабатыввает как нужно?

1. Зайдите в вебвизор
2. Отфильтруйте визиты настоящих пользователей: параметры посетителей, параметр fraud=false
3. Во второй вкладке отфильтруйте визиты ботов, параметр fraud=true.
4. Проанализируйте что визиты пользователей и ботов соответствуют признакам пользователей и ботов.