Как программно определить боты

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

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

Ответы

Ответ 1

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

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

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

Ответ 3

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

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

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

вы можете использовать Request.Browser.Crawler для обнаружения программных роботов;

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