Мини-отчет по массовой бане роботов.

12
M
На сайте с 04.08.2011
Offline
102
1357

Значит, началось с того, что меня достали хождения AHREFS-а по 404-м адресам на сайте. Каждый заход бота яндекс индексировал как дубль, что заставляло грустить.

Решил я объявить войну ботам, и вот с чего начал.

Десяток ботов-индексаторов всякого барахла типа Ahfrefs забанил в роботс.тхт - не помогло. И тут я перешел к бане по IP-адресам и User-агентам, а этот процесс затягивает как воронка.

Самый действенный способ для честных ботов - это глушить их по User-Agent, благо они всегда пишут на своих сайтах, как их опознать и отличить. Инструкций в инете тьма тьмущая, так что повторять не буду. Хуже с роботами, которые косят под людей и ходят с человеческими User-agent-ами. Их я вылавливал по поведению: частота запроса страниц, время захода, подряд страниц на сессию и главное - IP адрес (кто, откуда, чего брал). В общем, стоило войти во вкус и за месяц насобирал 220 адресов, включая целые подсети, содержащие тысячи IP. Начал где-то в 20-х числах Февраля, и сегодня решил посмотреть итог.

Чего изменилось?

1. Очень лихо разгрузился канал. Я думал, что честные 50 мегабит - это космос, и забить его невозможно, ан нет.

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

3. Скорость загрузки страниц снизилась где-то в 2-3 раза. (по данным Google Analytics).

4. Невнятных дублей в Яндексе почти не появляется. (кстати, помогло отключение автоматической отправки URL на индексацию в Метрике).

Что не изменилось?

1. Не изменилась посещаемость с поисковиков и позиции - вообще никак.

2. Не изменилась скорость индексирования новых страниц.

Что интересно?

Самый большой интерес - пресловутые честные ПФ. Вот тут я заметил, что Google Analytics очень многих роботов считает за людей и учитывает их поведение, в Метрике это тоже есть, но не так ярко выражено. И я не могу понять, почему посещаемость не меняется, но меняются ПФ. То есть, ушла бы посещаемость на 1000 вниз и ПФ вверх - оно было бы логично, а так динамика визитов на нуле, а ПФ меняются.

Различия в ПФ

1. Время на сайте для одной сессии выросло где-то на 20-30%. (метрика)

2. Страниц на сессию - выросло на те же 20-30%. (Метрика, GA)

3. Отказы по Метрике - снизились где-то на 5-10%.

Сдаются ли роботы?

Нет, не сдаются. Вчера снял одну подсеть из бани, и уже сегодня снова занес обратно.

юни
На сайте с 01.11.2005
Offline
901
#1

Подробности не планируете выложить?

mrmvd:
Вот тут я заметил, что Google Analytics очень многих роботов считает за людей и учитывает их поведение, в Метрике это тоже есть, но не так ярко выражено.

Как это? Ahrefs и Ко исполняют js?

https://a-parser.com/ - парсер для профессионалов SEO, маркетологов, арбитражников и SaaS, https://searchengines.guru/ru/forum/944108 - прокси-сервис на базе операторов домашнего интернета, сотни тысяч IP-адресов, канал от 20 Мбит
Mik Foxi
На сайте с 02.03.2011
Offline
1076
#2

Я без всяких слежек за юзерагентами и ипами борюсь с помощью http://antibot.tdsse.com/ а раньше тоже как вы пытался выслеживать активных парсельщиков и т.п. Но это бесполезно, всегда найдется новый уникум, который в 20 потоков запустит парсинг сайта и все будет тупить пока его ип не забанишь.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
neoks
На сайте с 17.03.2010
Offline
152
#3

mrmvd, На самом деле все делается на много проще и эффективней, причем на полном автомате, не нужно постоянно мониторить логи, собирать и блокировать IP/UseAgent и т.д

Первый запрос IP:

*) Выдаете контент

*) Посредством cms/сервера выдаете проверочные cookie #1

*) В контенте выдаете код на JavaScript который ставит пользователю cookie #2, но не сразу а спустя 3 секунды пребывания на сайте.

Второй запрос от IP:

*) cookie #1 нету ?, отправляйте в бан, это бот.

*) Есть cookie #1 и cookie #2 ?, это реальный пользователь.

*) cookie #1 есть но нету cookie #2 ?, добавьте счетчик для IP и считайте количество запросов.

4й запрос от IP:

*) Все еще нету cookie #2 ?, блокируйте, это бот.

User Agent говорит что это ПС ?

*) Не верьте, сейчас тьма парсеров пишут в UserAgent поискового бота.

*) Любой запрос от ПС проверьте через PTR, если это реально ПС, добавьте в белый список, если нет, то это бот и его место в черном списке.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#4
neoks:
Второй запрос от IP: *) cookie #1 нету ?, отправляйте в бан, это бот.

Либо человек, который сидит за прокси в какой-нибудь организации, или пользователь динамического IP у всяких сотовых операторов. Будет масса ложных срабатываний.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
M
На сайте с 04.08.2011
Offline
102
#5

Там есть такая фишка - боты Яндекса например заходят под людскими User-agent чтобы проверить что всем выдается один и тот же контент. Заходят они с каких-то левых постоянно меняющихся IP-адресов. Так что защита, предложенная вами, может их отсекать.

neoks
На сайте с 17.03.2010
Offline
152
#6
Оптимизайка:
Либо человек, который сидит за прокси в какой-нибудь организации, или пользователь динамического IP у всяких сотовых операторов. Будет масса ложных срабатываний.

Не совсем правильно выразился, IP помечать как бот и выдавать такому IP в течении 20-30 минут вместо сайта заглушку, заглушка будет явно просить пользователя включить JS и подождать 3 секунды, что-бы можно было попасть на сайт (пример такой заглушки CloudFlare). В данном случаи бот будет заблокирован, а реальные пользователи которые зайдут в течении этих 30 минут с таким-же IP, просто подождут 3 секунды и смогут дальше просматривать сайт.

---------- Добавлено 23.03.2018 в 21:06 ----------

mrmvd:
Там есть такая фишка - боты Яндекса например заходят под людскими User-agent чтобы проверить что всем выдается один и тот же контент. Заходят они с каких-то левых постоянно меняющихся IP-адресов. Так что защита, предложенная вами, может их отсекать.

Обычно они делают мало запросов, максимум сотню. В моем примере просто увеличьте счетчик попыток до нужно числа, то число которое вы используете в ручном блоке. А так-же можно убрать проверку cookie #1 и оставить только cookie #2 что-бы исключить ложные срабатывания и повысить точность блока.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#7
neoks:
Не совсем правильно выразился, IP помечать как бот и выдавать такому IP в течении 20-30 минут вместо сайта заглушку,

Т.е. боту достаточно загружать с одного ip страницу раз в полчаса, иметь пул адресов и ротировать, ОК. :)

neoks
На сайте с 17.03.2010
Offline
152
#8
Оптимизайка:
Т.е. боту достаточно загружать с одного ip страницу раз в полчаса, иметь пул адресов и ротировать, ОК. :)

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

Заносить вручную IP в блек как это делает ТС, тоже не вариант и там тоже есть свои минусы:

*) Ручная работа, постоянно следить за логами, вность IP в блек и т.д.

*) Сегодня заблокированные IP это "боты/спамеры", а завтра это сотни белых пользователей которые не могут получить доступ к сайту - (в моем примере выводится заглушка).

*) Каждый IP может сделать тысячи запросов перед тем как попадет в блек - (в моем примере блок идет сразу).

*) Может зайти бот который делает 40к запросов в сутки распределяя по 20 запросов на 2000 IP, такие запросы останутся без внимания - (в моем примере даже такой бот будет заблокирован).

*) На сайт могут зайти 10 валидных пользователей из под NAT с одним IP, сделать 200 запросов, кликнуть на рекламу и принести прибыль, но такой IP уйдет в блок, потому что с этого IP много запросов - (в моем примере выводится заглушка).

1) Заблокированным IP выводится Заглушка

2) Заглушка - Выводится вместо сайта для заблокированных IP, при этом в заглушке используется JS для установки валидных кук, благодаря которым белые пользователи могут попасть на сайт, а боты так и продолжают смотреть заглушку.

Мой пример не идеален, но он решает больше проблем чем ручной блок, работает на автомате и не блокирует белых пользователей, им конечно будет выводится заглушка с ожиданием, но все же это лучше чем полный блок :)

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#9

neoks, хорошо вы содрали идею и реализацию моего антибота для себя )))

neoks
На сайте с 17.03.2010
Offline
152
#10
foxi:
neoks, хорошо вы содрали идею и реализацию моего антибота для себя )))

Признаю, описание взял с вашего сайта, лень было писать, но это после написания своей реализация, вашу реализация проверки бота видел еще в 2016, выкатывали в дорах для скрытия рекламы и ссылок от ПС, я ею не пользовался потому что боюсь клоакинга.

Копаясь в фоновой проверке reCAPTCHA, понял что проверку reCAPTCHA можно улучшить и сделать более мягкой, так и получилась моя реализация AntiBot:

*) Был добавлен socket что-бы усложнить ботам задачу

*) Используется фоновая проверка как в reCAPTCHA, что-бы ПС не занижала позиции сайта из за клоакинга

*) Новые пользователи зашедшие с ПС не ждут проверки AntiBot, из практики могу сказать что это положительно сказываться на конверсии

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий