Вы не можете найти всех ботов таким образом, но вы можете поймать некоторых или, по крайней мере, получить некоторую вероятность того, что UA будет ботом, и использовать это в сочетании с другим методом.
Некоторые боты забывают о *Заголовки 1003 * и Accept-Encoding
.Вы также можете найти невозможные комбинации Accept
и User-Agent
(например, IE6 не будет запрашивать XHTML, Firefox не афиширует типы MS Office).
При блокировке будьте осторожны с прокси, потому чтоможет изменить заголовки.Я рекомендую отступать, если вы видите Via
или X-Forwarded-For
заголовки.
В идеале, вместо написания правил вручную, вы можете использовать байесовский классификатор.Это может быть так же просто, как объединить соответствующие заголовки и использовать их как одно «слово» в классификаторе.