Обновить

По обе стороны антибота: как я имитирую Chrome при скрейпинге и ловлю ботов по тем же сигналам

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.6K
Всего голосов 2: ↑2 и ↓0+4
Комментарии2

Комментарии 2

Хочется поднять на обсуждение такой вопрос. А что если не блокировать ботов, а возвращать им некорректную информацию. По крайней мере когда мы более чем на 90% уверены (если уверены на все 100, кидать 403, для имитаций защиты) что это бот, и только в методах которые имеют какую-то ценность для тех, кто их собирает. Например товары в интернет магазине. Можно строить хеш из фингерпринта клиента и использовать его как сид для изменения цен, артикула, наличия и добавления орфографических ошибок в название и описание товара, перемешивать фото, причём не обязательно для всех, а например 50%, и только начиная с 3 страницы выдачи. Вероятнее всего те кто их собирают заметят что их данные испорчены далеко не сразу, а использования хеша сделает запросы детерминированными и усложнит отладку. А прикручивание такой защиты можно реализовать через middleware без изменения какой либо логики методов. Одно дело видеть ошибку и понимать что нужно копать глубже что б обойти защиту, а другое понимать что ты не можешь доверять тем данным которые собираешь

У меня в статье tarpit по сути так и работает, только для чата, а не для товаров. Подозрительный запрос получает правдоподобный фейковый ответ — готовый текст, стрим, задержка, — но LLM не вызывается и баланс не списывается. Бот не понимает, что его отсекли, и не идёт искать обход.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации