Как программно обнаружить ботов

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

есть ли список известных IP-адресов ботов? Проверка известных пользовательских агентов бота работает?

6 ответов


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

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

вы также можете сделать "bad bot trap", поместив скрытую ссылку на свою страницу, которая ведет к странице, отфильтрованной в ваших роботах.txt-файл. Серьезные боты не будут следовать по ссылке, и люди не могут нажать на нее, поэтому только бот, который не следует правилам, запрашивает файл.


в зависимости от типа бота, которое вы хотите обнаружить:


вы можете использовать запрос.Браузер.Искатель для программного обнаружения искателей;

желательно сохранить список распознанных искателей в актуальном состоянии, как описано здесь http://www.primaryobjects.com/cms/article102.aspx


Я думаю, что многие боты будут идентифицироваться user-agent, но, конечно, не все из них. Список известных IP - адресов-я бы тоже на это не рассчитывал.

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


вы уже добавили роботы.txt? Хотя это не решит проблему вредоносного использования бота, вы можете быть удивлены законной активностью обхода, уже происходящей на вашем сайте.


Я не думаю, что будет список IP-адресов ботнетов, IP-адреса ботнетов не статичны, и никто не знает, кто такие боты, включая пользователей, которые ведут себя как боты.

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

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