Пользовательский агент в любом обычном браузере содержит «бот» или «ползать»?

11

Пользовательский агент в любом обычном браузере содержит «бот» или «ползать»?

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

После добавления проверок для 30-40 + ботов, я устал от добавления их. Поэтому мне было интересно, проверяет ли он просто «бот» или «ползать». Я знаю, что не получит всех ботов, но их будет много. Но если это может вызвать какие-либо ложные срабатывания, то это полностью испортит возможность добавить в корзину, сделать заказ и войти в систему.

Эхо говорит Восстановить Монику
источник

Ответы:

13

Согласно списку на http://www.useragentstring.com/pages/useragentstring.php?typ=Browser более 9000 строк пользовательских агентов из разных браузеров:

  • 0 user agent в строках браузеров содержит слово «бот»
  • 2 строки агента пользователя в браузерах содержат слово «crawl»
  • 0 user agent в строках браузеров содержит слово «паук»

(2, которая содержит «crawl»: «Mozilla / 4.0 (совместимый; MSIE 5.01; Windows NT 5.0; YComp 5.0.2.6; MSIECrawler)» и «Mozilla / 4.0 (совместимый; MSIE 5.01; Windows NT 5.0; MSIECrawler» ) «Я думаю, это безопасно не учитывать.)

Согласно списку на http://www.useragentstring.com/pages/useragentstring.php?typ=Crawler с 442 строками пользовательских агентов, перечисленными как боты:

  • 208 пользовательских агентов в строке ботов содержит слово «бот»
  • 63 пользовательский агент строки ботов содержит слово «ползать»
  • 37 пользовательский агент строки ботов содержит слово «паук»
  • 282 строки агента пользователя содержат «bot», «crawl» или «spider»

Мой вывод: можно безопасно фильтровать ботов по строкам пользовательских агентов по словам "bot", "crawl" и "spider". Это не пуленепробиваемый, но определенно лучше, чем ничего.

Примечание: при поиске по ключевым словам я использовал поиск без учета регистра.

Йонас Эппелгран
источник
Большое спасибо за ваш ответ. Я сделал чек сегодня, и до сих пор нет браузера или мобильного браузера строку агента пользователя не содержит какой - либо из bot, crawl, spider, и даже search.
Оливер
2

Лучшим решением IMO было бы определить, вошел ли пользователь в систему. Если это не так, покажите стандартную страницу (это можно кэшировать). Любой веб-паук никогда не будет авторизован, но если вы оптимизируете его, почему бы не привлечь новых пользователей на ваш сайт?

DisgruntledGoat
источник