Windows user agent strings

Бортовой журнал

Полет нормальный. Без происшествий.

User-Agent: визитная карточка веб-приложения

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

Итак, User-Agent. В обычной жизни нас с вами можно идентифицировать по разным параметрам: голос и внешность выдают в нас мужчину или женщину, форма — военного или доктора. Помимо таких очевидных, есть ряд прочих критериев, которые позволяют нам определить, с кем имеешь дело, и как именно стоит себя вести в данной ситуации. Похожим образом происходит взаимодействие с сайтами — веб-приложение сообщает данные о себе, а сайт в свою очередь может обрабатывать их различными способами. Эта информация передается в User-Agent, о котором пойдет речь далее.

Что такое User-Agent, какую информацию он передает?

В последние годы использование глобальной сети Интернет стало настолько привычным и даже обыденным, что при открытии какого-либо сайта мы вовсе не замечаем, что первым делом запускаем браузер. А ведь именно он — браузер — является тем приложением, которое позволяет нам видеть сайты красиво оформленными, а не состоящими из набора HTML-тегов и текстовых ссылок. При открытии сайта браузер посылает HTTP-запрос к серверу, который занимается обслуживанием этого сайта, дожидается ответа от сервера и обрабатывает его определенным образом. HTTP-запрос содержит в себе набор информации, из которой стоит выделить метод обработки данных (GET, POST), адрес запрашиваемого ресурса, IP-адрес отправителя, и, собственно, User-Agent.

User-Agent — это текстовая часть запроса, которую веб-приложения используют для сообщения сайту информации о себе. User-Agent браузера содержит название и версию приложения, а также данные об операционной системе компьютера: версия, разрядность, язык по умолчанию и другие параметры. Помимо браузеров User-Agent есть у утилит (Wget и cURL) и поисковых роботов — обычно в них содержится имя робота и ссылка на ресурс, регламентирующий его работу.

Ниже рассмотрены различные варианты User-Agent с расшифровкой тех данных, на которые следует обратить внимание.

Браузеры ПК на примере Mozilla Firefox 36 (Win 8.1 x64):

Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0

Windows NT 6.3 — вид и версия операционной системы компьютера, на котором установлен браузер.
Firefox/36.0 — имя браузера и его версия.

Мобильные браузеры на примере Android 2.3.5 (Philips W632):

Mozilla/5.0 (Linux; U; Android 2.3.5; ru-ru; Philips W632 Build/GRJ90) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

Linux — тип операционной системы (семейство Linux).
Android 2.3.5 — название операционной системы и ее версия.
ru-ru — язык на мобильном устройстве по умолчанию.
Philips W632 Build/GRJ90 — название и версия мобильного устройства, на котором установлен браузер.

Поисковые системы на примере роботов Яндекс:

Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)

YandexBot/3.0 — имя и версия робота.
http://yandex.com/bots — ссылка на ресурс, содержащий справку о работе робота.

Читайте также:  Wd red 2tb не загружается uefi windows

Утилиты на примере wget (Linux):

Wget/1.15 — название и версия программного обеспечения.

Как узнать, от каких User-Agent поступают запросы к вашему сайту?

Информация о поступающих запросах хранится в виде журналов работы веб-сервера. Вы можете включить сохранение журналов веб-сервера в Панели управления аккаунтом хостинга. Перейдите в раздел «Дополнительно» → «Журналы веб-сервера», отметьте домен сайта и нажмите на кнопку «Включить». После этого журналы веб-сервера начнут сохранятся в папке /logs, находящейся в директории сайта, в указанном примере это директория domains/user-agent.01sh.ru/logs.

Информация о каждом запросе хранится в журнале отдельной строкой, например:

[u][26/Oct/2016:12:42:08 +0300] 0.350 0.350 200 77.88.99.00 sprinthost.ru GET / HTTP/1.1 «Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36» «-» 6756

Разберем подробнее те части записи, которые нас интересуют в контексте статьи.

77.88.99.00 — IP-адрес, с которого поступил запрос.
sprinthost.ru — имя сайта, к которому было направлено обращение.
«Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36» — тот самый User-Agent браузера, который обращался к сайту.

Зачем сайту знать, с каким User-Agent к нему пришли?

Как видно из приведенных выше примеров, по User-Agent очень просто определить, откуда пришел запрос — это может быть компьютер, планшет, мобильное устройство, поисковый робот или некое программное обеспечение.

Информация об источнике запроса может быть необходима для решения следующих задач:

  • перенаправление запросов на мобильную версию;
  • использование специфических стилей для определенных браузеров;
  • сбор статистики о количестве запросов с разных устройств;
  • создание специальных правил для обработки запросов от роботов;
  • запрет доступа к сайту для каких-либо веб-утилит;
  • всякие другие штуки.

Значительная часть перечисленных задач требует опыта разработки скриптов на PHP, но не стоит пугаться — для большинства популярных CMS уже существуют расширения, обладающие необходимыми функциями, и вам достаточно найти подходящий плагин или модуль, чтобы получить желаемый результат.

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

Как запретить доступ к сайту по User-Agent?

Ответ достаточно прост — всего при помощи нескольких правил в файле .htaccess, сформировать и добавить которые не составит труда даже новичку. Освежить знания по работе с файлом .htaccess вам поможет статья в нашем блоге.

Рассмотрим пример, в котором используются правила, запрещающие доступ к сайту с использованием утилиты wget:

В первой строке после параметра User-Agent в кавычках указан User-Agent утилиты Wget, которому присваивается имя bad_bot. Во второй строке указывается необходимость блокировки доступа (Deny) для запроса, пришедшего от bad_bot.

Вместо «^Wget» может быть указан User-Agent любого браузера или робота, имя bad_bot может быть присвоено любому количеству User-Agent, то есть правила

запретят доступ для всех перечисленных User-Agent.

Чтобы убедиться в том, что изменения внесены успешно, вовсе не обязательно искать большое количество различных устройств для проверки работы сайта — гораздо удобнее воспользоваться встроенными почти во все современные браузеры функциями подмены User-Agent.

Как заменить User-Agent браузера?

Обычно замена User-Agent применяется, чтобы проверить правила для роботов и утилит.

Не секрет, что каждый из браузеров при формировании страницы сайта обрабатывает полученные с сервера данные особым образом. Соответственно, если в браузере Firefox указать User-Agent браузера Chrome, результат отображения сайта может быть совершенно неожиданным. Об этом обязательно следует помнить. Всегда возвращайте исходное значение User-Agent после завершения тестирования.

Читайте также:  Arch linux installer apk

Инструкция по замене User-Agent в Mozilla Firefox (для версий 34.0 и выше)

Наберите в адресной строке вашего браузера следующую фразу:

и нажмите Enter. Если появится сообщение о том, что надо быть осторожным, нажмите кнопку «Я обещаю, что буду осторожен!». После откроется список множества настроек, а также строка поиска. Введите в эту строку:

Вам необходимо убедиться, что параметра general.useragent.override не существует. Для создания этого параметра кликните правой кнопкой мыши по пустому месту и выберите пункт «Создать (New)», затем «Строка (String)». Введите имя этой строки general.useragent.override, нажмите «ОК». Затем потребуется ввести значение этой строки, которое и будет использоваться в качестве нового User-Agent, и нажать «ОК». К примеру, если вы хотите заменить значение на User-Agent утилиты Wget, после создания строки с именем general.useragent.override укажите в качестве ее значения:

Новое значение должно появится в списке параметров. Перезапускать Mozilla Firefox не требуется.

Инструкция по замене User-Agent в Google Chrome (для версий 26.0.1410.64 и выше)

Чтобы указать для Google Chrome нестандартный User-Agent, его необходимо запустить с ключом

и в кавычках указать новую строку User-Agent.

Например, в ОС Windows это можно сделать, нажав сочетание клавиш Win+R и вписав в поле «Открыть» команду:

где вместо MyBrowser должен быть указан нужный вам User-Agent.

Например, чтобы присвоить Google Chrome значение User-Agent консольного браузера Links, следует ввести в поле «Открыть» строку

и нажать на кнопку «ОК».

После этого открывшееся окно браузера будет иметь не стандартный, а заданный User-Agent. Чтобы проверить текущее значение User-Agent, можно ввести в адресной строке:

Информацию о том, как изменить User-Agent других браузеров, можно найти в их документации.

Microsoft Edge User Agent String (Desktop)

A user agent (UA) string is able to be used to detect what version of a specific browser is being used on a certain operating system. Like other browsers, Microsoft Edge includes this information in the User-Agent HTTP header whenever it makes a request to a site. It may also be accessed via JavaScript by querying the value of navigator.userAgent .

Microsoft recommends that web developers make use of feature detection whenever possible to improve code maintainability, reduce code fragility, and eliminate the risk of code breakage in the event of future UA string updates.

For cases where feature detection is not applicable and UA detection must be used, the format of the Microsoft Edge UA on desktop is as follows:

The User-Agent request header is in the following format:

The return value from navigator.userAgent is in the following format:

Platform identifiers change based on the operating system being used, and version numbers also increment as time passes. This format is the same as the Chromium UA with the addition of a new Edg token at the end. Microsoft selected the Edg token to avoid compatibility issues that may be caused by using the string Edge , which is used by the version of Microsoft Edge based on EdgeHTML. The Edg token is also consistent with existing tokens used on iOS and Android.

Mapping UA String to Browser Name

Mapping UA string tokens to a more human-readable browser name for use in code is a common pattern on the web today. When mapping the new Edg token to a browser name, Microsoft recommends using a different name than the one developers used for the legacy version of Microsoft Edge to avoid accidentally applying any legacy workarounds that are not applicable to Chromium-based browsers.

Читайте также:  Windows 10 home lite x32

User Agent Overrides

Sometimes, a website does not recognize the updated version of the Microsoft Edge UA. As a result, a set of the features of that website may not work correctly. When Microsoft is notified about these types of issues, website owners are contacted and informed about the updated UA.

The sites often need some time to update and test the UA detection logic to address the issues that Microsoft reports to site owners. In these cases, Microsoft uses a list of UA overrides in our Beta and Stable channels to maximize compatibility for users who access these sites. The overrides specify new UA values that Microsoft Edge should send instead of the default UA for specific sites. You are able to view the list of UA overrides that are currently being applied by navigating to edge://compat/useragent in the Beta and Stable channels of Microsoft Edge.

Our Canary and Dev channels do not currently receive UA overrides so that web developers have an environment where they can easily reproduce issues on their sites that are caused by the default Microsoft Edge UA. If for some reason you require the ability to disable UA overrides in the Beta or Stable channels of Microsoft Edge, you may run the Microsoft Edge executable using the following command line argument:

User-Agent

The User-Agent request header is a characteristic string that lets servers and network peers identify the application, operating system, vendor, and/or version of the requesting user agent.

Please read Browser detection using the user agent for why serving different Web pages or services to different browsers is usually a bad idea.

Syntax

Common format for web browsers:

Directives

A product identifier — its name or development codename.

Version number of the product. Zero or more comments containing more details; sub-product information, for example.

Firefox UA string

For more on Firefox- and Gecko-based user agent strings, see the Firefox user agent string reference. The UA string of Firefox is broken down into 4 components:

  1. Mozilla/5.0 is the general token that says the browser is Mozilla-compatible. For historical reasons, almost every browser today sends it.
  2. platform describes the native platform the browser is running on (Windows, Mac, Linux, Android, etc.), and if it’s a mobile phone. Firefox OS phones say Mobile — the web is the platform. Note that platform can consist of multiple » ; «-separated tokens. See below for further details and examples.
  3. rv:geckoversion indicates the release version of Gecko (such as «17.0«). In recent browsers, geckoversion is the same as firefoxversion.
  4. Gecko/geckotrail indicates that the browser is based on Gecko. (On Desktop, geckotrail is always the fixed string 20100101 .)
  5. Firefox/firefoxversion indicates the browser is Firefox, and provides the version (such as «17.0″).

Examples

Chrome UA string

The Chrome (or Chromium/Blink-based engines) user agent string is similar to Firefox’s. For compatibility, it adds strings like KHTML, like Gecko and Safari .

Examples

Opera UA string

The Opera browser is also based on the Blink engine, which is why it almost looks the same, but adds «OPR/ » .

Examples

Older, Presto-based Opera releases used:

Safari UA string

In this example, the user agent string is mobile Safari’s version. It contains the word «Mobile» .

Оцените статью