Зачем все это нужно? User-Agent передается от браузера к серверу при каждом запросе каждого ресурса. Большой размер пользовательской строки замедляет открытие каждого сайта на вашем личном компьютере (и сайт с этим ничего поделать не может). Уменьшение этой строки до приемлемого минимума способно чуть-чуть облегчить жизнь людей, использующих медленные подключения. А таких меньше не становится (если брать во внимание растущее число пользователей мобильного Интернета).
Также создание уникальной строки пользовательского агента может позволить выделиться из общей массы пользователей с одинаковыми браузерами на одинаковых операционных системах. Естественно, что строку эту можно использовать для рекламы чего угодно. И я не удивлюсь, если скоро появятся вирусы, автоматизирующие описанные ниже процедуры и распространяющие информацию о продуктах или услугах еще и таким неожиданным способом.
Однако стоит отметить, что большинство сайтов используют User-Agent для улучшения своего сервиса для разных групп пользователей. Значительная модификация опознавательной строки вашего браузера может привести к неработоспособности многих ресурсов (в частности, большинства сервисов от Google).
Все еще здесь? Тогда продолжаем.
Заходим в about:config и создаем новую переменную general.useragent.override. После чего выставляем во что-нибудь подходящее, например:
Mozilla/5.0 (Web Optimizator; Speed Up Your Website; ru; http://webo.in/; Firefox 3.0.6)
Есть некоторое количество подводных камней (в частности, при работе с Java), они все приведены на странице www.zytrax.com/tech/web/change-ua.html. Также крайне рекомендуется оставить Mozilla/5.0 в самой строке.
Для Firefox также есть дополнение User Agent Switcher, которое позволяет автоматизировать описанную процедуру.
Выбираем в меню Разработка -> Пользовательский агент -> в другой и вводим собственное значение:
Mozilla/5.0 (Web Optimizator; Speed Up Your Website; ru; http://webo.in/; Safari/525)
Я ограничился номером сборки билда WebKit после Safari, ибо некоторые проекты проверяют Safari/4 и Safari/5 на соответствие современным технологиям (например, поддержке gzip-сжатия). Данное значение однако не сохраняется при перезапуске браузера. Если кто знает, как это исправить — поделитесь, пожалуйста, в комментариях. Стоит также отметить, что Safari 3.0 и Safari 3.2 немного различаются логикой пользовательских настроек.
Тут нам понадобится терпение, креативность и редактор исходных кодов в HEX-виде (подойдет и Xvi32). Находим у себя в установленном папке с этим браузером (обычно в .../Local Settings/Application Data/Google/Chrome/Application/Номер версии/) файл chrome.dll, делаем с него резервную копию — и начинаем редактировать. Находим строку с Chrome/, дальше видим уже знакомую картину:

Выделяем весь блок, начинающийся с Mozilla, и заменяем его на требуемую строку (для Xvi32 это делается через Edit -> Overwrite string), закрываем Chrome (если он запущен), сохраняем файл и запускаем Chrome — вуаля, у нас собственный User-Agent:
Mozilla/5.0 (Web Optimizator; Speed Up Your Website; ru; http://webo.in/; Chrome/1.0.154)
В ходе данной операции пришлось столкнуться с единственной сложностью: число символов в файле должно остаться тем же самым. Поэтому если новая строка пользовательского агента короче, чем текущая, то нужно будет вставить соответствующее количество произвольных символов сразу после \x0, который завершает эту строку. Если новая строка длиннее, то удалить из следующей строки (в ней обычно содержится сообщение об ошибке, которое можно и переформулировать ради такого случая) нужное количество символов. Вроде все.
Если вы уверены, что они вам не понадобятся.
Для этого запускаем редактор реестра (Start -> Run -> regedit), заходим в HKEY_LOCAL_MACHINE (или в HKEY_CURRENT_USER, но у меня лично все это находилось именно в первой ветке) и ищем:
SOFTWARE -> Microsoft -> Windows -> CurrentVersion -> Internet Settings -> User Agent
Тут сносим все, что находится в папке Pre Platform и Post Platform. Можно на этом, в принципе, успокоиться, но для настоящих фанатов своего дела стоит выполнить и следующий шаг.
Не уходя из реестра, идем (тут у меня сработал уже второй вариант) в:
HKEY_LOCAL_MACHINE (или HKEY_CURRENT_USER) -> SOFTWARE -> Microsoft > Windows
-> CurrentVersion -> Internet Settings -> 5.0 -> User Agent Нам доступны для изменения следующие ключи (если их нет, то нужно создать ключ с соответствующим названием и строковым содержанием):
.gif)
(default) или (по умолчанию) — то, что находится в самой папке (располагается первым в списке ключей). Значение ключа по умолчанию равно Mozilla/4.0 и выводится перед круглыми скобками в строке пользовательского агента. На рисунке это обозначено как "Application Name" + "Application Version".Compatible — "Compatibility Flag", по умолчанию равен "compatible".Platform — "Platfrom Token", указание на платформу, полная таблица приведена чуть ниже. Для меня по умолчанию было равно "Windows NT 5.1".Version — "Version Token", собственно, сам браузер. Для меня был "MSIE 7.0".Абсолютно все указанные значения можно переопределять. Единственно, что крайне не советую выкидывать MSIE с номером версии: очень многие движки сайтов обращают внимание на этот факт и могут показать некорректную версию страниц. В общем, после некоторых приседаний и перезапуска браузера, строка пользовательского агента в IE превратилась в:
Mozilla/4.0 (Web Optimizator; Speed Up Your Website; ru; http://webo.in/; MSIE 7.0)
Источник информации: MSDN.
| Ключ | Описание |
|---|---|
| Windows NT 6.0 | Windows Vista |
| Windows NT 5.2 | Windows Server 2003; Windows XP x64 Edition |
| Windows NT 5.1 | Windows XP |
| Windows NT 5.01 | Windows 2000, Service Pack 1 (SP1) |
| Windows NT 5.0 | Windows 2000 |
| Windows NT 4.0 | Microsoft Windows NT 4.0 |
| Windows 98; Win 9x 4.90 | Windows Millennium Edition (Windows Me) |
| Windows 98 | Windows 98 |
| Windows 95 | Windows 95 |
| Windows CE | Windows CE |
У разработчиков Opera взгляд на использование строки пользовательского агента менялся от версии к версии самым кардинальным образом. На данный момент непонятно, каким образом можно переопределить строку для последних версий этого браузера. Однако если:
opera:config#ISP;id произвольную строку, например:Web Optimizator; Speed Up Your Website; http://webo.in/
то данное значение появится в строке пользовательского агента между U; и языком пользователя.