Подтвердить что ты не робот

Странный агент пользователя с Google Chrome

Я работал с некоторым javascript и обнаружил странный пользовательский агент с моим Google Chrome.

У меня установлена ​​бета-версия Google Chrome 7.0.517.41 на моем ноутбуке Ubuntu. Теперь AFAIK мой пользовательский агент должен быть чем-то близким к Chrome/7.0.517.41

но он показывает мне:

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7

Почему это происходит. Я отключил все установленные расширения, но он все тот же.

4b9b3361

Ответ 1

Строка UA сообщает длительную и трагическую историю попыток совместимости (в). См., например, это для краткой истории UA. Также должно быть ясно, что UA нюхание бесполезно, поскольку каждый современный браузер претендует на роль многих других браузеров. Это также так, как вы видите здесь:

  • Mozilla - самый древний артефакт, начиная с начала 1990-х годов.
  • X11 - используемый графический интерфейс
  • Linux i686 - ОС и тип процессора
  • en_US - ваш язык (английский, США)
  • AppleWebKit/534.7 - фактический движок рендеринга
  • (KHTML, как и Gecko) - еще один артефакт браузеров: "Gecko" - это механизм рендеринга FF, KHTML - это другой браузер
  • Chrome/7.0.517.41 - фактическая версия браузера
  • Safari/537 - еще один артефакт против скриптов, обнюхивающих "Safari" (который использует тот же движок)

Вкратце: на некоторых сломанных сайтах предполагается, что "только для людей с Mozilla/Firefox/Webkit/независимо" - разумная политика; в свою очередь, браузеры начали лгать об их происхождении, чтобы обойти эти искусственные барьеры. Строки UA - результат: bloatware, полный бесполезного мусора.

Ответ 2

В принципе, Mozilla означает "совместимый с Mozilla", а "KHTML, как и Gecko" описывает механизм рендеринга.

По сути, строка пользовательского агента Chrome говорит: "Я совместим с Mozilla, а мой движок рендеринга похож на Gecko", как способ описать себя разработчикам.

Большинство (если не каждый) браузер идентифицируют себя как совместимый с Mozilla как своего рода наследие, независимо от принадлежности к Mozilla. Да, даже Internet Explorer.

Дополнительная информация о строках в целом по адресу: Центр разработчиков Mozilla.

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

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

Ответ 3

Есть исторические причины, по которым браузеры "лгут" о себе. Основная причина этого - обнюхивание пользовательского агента. Opera - единственный браузер, который идентифицирует себя как Opera, а все другие браузеры используют Mozilla/5.0 или более старые версии Mozilla/4.0.

Единственное, что вы должны знать об этом: Строки агента пользователя нельзя доверять, вместо этого рекомендуется обнаружение feautre.

Ответ 4

Строки агента пользователя, как указано выше.

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

Вот хороший, который я использовал пару раз раньше: Обнаружение браузера.

Ответ 5

Попробовав все, что я, наконец, использовал: http://www.useragentstring.com/

Вы можете использовать вышеуказанный веб-сайт, чтобы получить отформатированный пользовательский агент и ОС.
У них есть api, который вы можете использовать напрямую...

надеюсь, что это поможет..!!!