Зачем все это нужно? User-Agent
передается от браузера к серверу при каждом запросе каждого ресурса. Большой размер пользовательской строки замедляет открытие каждого сайта на вашем личном компьютере (и сайт с этим ничего поделать не может). Уменьшение этой строки до приемлемого минимума способно чуть-чуть облегчить жизнь людей, использующих медленные подключения. А таких меньше не становится (если брать во внимание растущее число пользователей мобильного Интернета).
Также создание уникальной строки пользовательского агента может позволить выделиться из общей массы пользователей с одинаковыми браузерами на одинаковых операционных системах. Естественно, что строку эту можно использовать для рекламы чего угодно. И я не удивлюсь, если скоро появятся вирусы, автоматизирующие описанные ниже процедуры и распространяющие информацию о продуктах или услугах еще и таким неожиданным способом.
Однако стоит отметить, что большинство сайтов используют User-Agent
для улучшения своего сервиса для разных групп пользователей. Значительная модификация опознавательной строки вашего браузера может привести к неработоспособности многих ресурсов (в частности, большинства сервисов от Google).
Все еще здесь? Тогда продолжаем.
Заходим в about:config
и создаем новую переменную general.useragent.override
. После чего выставляем во что-нибудь подходящее, например:
Mozilla/5.0 (Web Optimizator; Speed Up Your Website; ru; https://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; https://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; https://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
Нам доступны для изменения следующие ключи (если их нет, то нужно создать ключ с соответствующим названием и строковым содержанием):
(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; https://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; https://webo.in/
то данное значение появится в строке пользовательского агента между U;
и языком пользователя.