Как определить, не является ли пользователь, заходящий на ваш сайт, ботом? - PullRequest
2 голосов
/ 27 августа 2009

Я знаю, что пользовательские агенты являются одним из индикаторов, но их легко подделать. Какие еще надежные показатели есть, что посетитель действительно бот? Непоследовательные заголовки? Запрашиваются ли изображения / javascript? Спасибо!

Ответы [ 6 ]

4 голосов
/ 27 августа 2009

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

3 голосов
/ 27 августа 2009

"Запрашиваются ли изображения / javascript?" Я бы пошел на этот, однако Google и другие в настоящее время запрашивают изображения и файлы JavaScript.

Как насчет скорости запроса? Боты читают ваш контент намного быстрее, чем люди.

2 голосов
/ 27 августа 2009

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

Редактировать: На самом деле это было что-то, что было собрано в моей программе чтения RSS, если я смогу найти источник, я приведу хороший пример.

2 голосов
/ 27 августа 2009

Есть 4 вещи, которые мы ищем:

  • Строка агента пользователя. Это очень легко подделать, но часто сканеры используют собственную уникальную строку пользовательского агента.

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

  • Если они запрашивают только HTML, или если они запрашивают всю страницу. Некоторые сканеры запрашивают только структуру HTML. Обычно это хороший совет.

  • Входящий URL

1 голос
/ 27 августа 2009

Взгляните на Bad Behavior , библиотеку, которая использует широкий спектр методов обнаружения ботов

0 голосов
/ 27 августа 2009

Разве не для этого придумана капча ?

...