Сайт о телевидении

Сайт о телевидении

» » Как скрыть user agent определение браузера. Особенности работы с User-agent. Как и кто использует данные user agent

Как скрыть user agent определение браузера. Особенности работы с User-agent. Как и кто использует данные user agent

Очередной приступ паранойи был вполне обоснован - он наступил после прочтения статьи о методах анонимности в сети , где автор на примере браузера FireFox рассказывал о потенциальных утечках идентификационной информации. И стало интересно - а на сколько озвученные решения применимы, скажем, к браузеру Google Chrome ?
Скрыть реальный IP - используем разные VPN сервера, отключить львиную долю отслеживающих скриптов - Adblock Plus и Ghostery убрать Referer - не вопрос , что то ещё забыли… Ах да - User-Agent - своеобразный «отпечаток», по которому (в связке, скажем, с IP) легко идентифицировать пользователя. И с этим надо было что-то делать. Найденные решения лишь статично изменяли значение User-Agent, чего было явно недостаточно. Тогда и было решено написать плагин для скрытия реального User-Agent"a, а если быть точнее - подменять его на рандомный. Или почти рандомный.

Немного теории

Вообще, User-Agent (далее по тексту - UA ) - штука нужная. Нужная в первую очередь для корректного отображения страниц, ведь нам всем известно - разные версии разных браузеров по разному рендерят странички, и заботливые web-программисты учитывают этот факт, выдавая нужным браузерам нужным скрипты и стили. Разнится поддержка доступных технологий «движками». Отсюда вытекает первое требование к итогу - возможность «имитировать» различные браузеры, и что самое важное - иметь возможность выбора между ними.
UA - это в первую очередь набор. Набор различных идентификаторов, по которым и происходит определение - какой браузер, какая операционная система, какой версии, и какое специфичное ПО (привет, IE) стоит у пользователя.
Почему именно IP и UA надо скрывать в первую очередь? А давайте посмотрим на лог пустого сайта-заглушки, на котором вообще ничего нет:

$ cat somesite.org.access_log | tail -3 10.12.11.254 - - "GET / HTTP/1.0" 200 5768 "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+)" 10.12.11.254 - - "GET / HTTP/1.0" 200 5768 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 10.12.11.254 - - "GET / HTTP/1.0" 200 5768 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"

На сайте ничего нет, а я знаю о посетителе более чем достаточно. Всё потому что «логи знают всё» .

Немного практики

Итак, решено - подставляем фейковый UA . Но как его сформировать? Я пошел по пути собирания с десятка UA каждого интересующего браузера, и написания регулярки для каждого, которая будет генерировать максимально правдоподобный и в то же время а какой-то мере уникальный отпечаток. Хотите пример? Вот вам 10 UA браузера «IE 9», и среди них пять настоящих. Сможете отличить?

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; chromeframe/12.0.742.112) Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 6.0; Win64; x64; Trident/5.0; .NET CLR 3.8.50799; Media Center PC 6.0; .NET4.0E) Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 8.1; Trident/5.0; .NET4.0E; en-AU) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 8.0; WOW64; Trident/5.0; .NET CLR 2.7.40781; .NET4.0E; en-SG) Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 8.0; Win64; x64; Trident/5.0; .NET4.0E; en) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Zune 4.0; Tablet PC 2.0; InfoPath.3; .NET4.0C; .NET4.0E) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 7.0; Trident/5.0; .NET CLR 2.2.50767; Zune 4.2; .NET4.0E) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0
Да, это возможно, но для это нужно анализировать. Анализировать, например, какие.net могут стоять на каких ОС, анализировать версии и сочетания, нюансы. Когда они теряются в куче - задача становиться мало тривиальной. Кому интересно как выглядят регулярки - добро пожаловать по этой ссылке . Дня генерации использовал randexp.js (за подсказку спасибо хабрачуваку под ником barkalov).

Вообще расширение успешно выдает себя за следующие браузеры:

  • IE с 6 по 10;
  • Chrome (Win / Mac / Linux);
  • Firefox (Win / Mac / Linux);
  • Safari (Win / Mac / Linux);
  • Opera (Win / Mac / Linux);
  • iPad и iPhone.
Что ещё интересного? Автоматизация . Отмечаешь галочками какие браузеры мы имитируем, ставишь галочку «Обновлять автоматически», указываешь интервал времени, и забываешь. Ничего лишнего. Для любопытных - посмотрите в консоли «фоновую страницу» - там всё не плохо залогировано.

Открытые исходники. Если есть желание допилить под себя, всё что необходимо, это:

  1. Открыть ссылку расширения на гитхабе;
  2. Нажать «Download Zip» или склонировать;
  3. На странице расширений поставить чекбокс «Режим разработчика»;
  4. Нажать «Загрузить распакованное расширение...» и указать путь к распакованному архиву или клону;
Буду очень признателен конструктивной критике и предложениям.

Лучше один раз увидеть.

В этой статье мы расскажем о том, что такое 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 - ссылка на ресурс, содержащий справку о работе робота.

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

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

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

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

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

[u] 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:

SetEnvIfNoCase User-Agent "^Wget" bad_bot Deny from env=bad_bot

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

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

SetEnvIfNoCase User-Agent "^Wget" bad_bot SetEnvIfNoCase User-Agent "^Java" bad_bot SetEnvIfNoCase User-Agent "^Zeus" bad_bot Deny from env=bad_bot

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

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

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

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

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

Инструкция по замене 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=""

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

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

chrome --user-agent="MyBrowser"

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

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

Chrome --user-agent="Links (2.8; Linux 3.13.0-24-generic x86_64; GNU C 4.8.2; text)"

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

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

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

Желаем вам интересных экспериментов!

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

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

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

Как проверить свой User Agent

После установки или удаления плагинов и программ для подмены User Agent рекомендуется пройти тест на сайте . Тест покажет, совпадают ли значения User Agent на стороне клиента и на стороне сервера.

Как изменить User Agent в браузере Chrome

В браузере Chrome подменять данные User Agent удобней при помощи плагина «User-Agent Switcher».

  1. В браузере Chrome загружаем и устанавливаем плагин «User-Agent Switcher».
  2. Кликаем на иконку плагина и выбираем любое значение User Agent.
  3. Проверяем совпадение значений User Agent тестом на сайте .

Как изменить User Agent в браузере Firefox

В Firefox возможно подменить User Agent через настройки браузера.

  1. В браузере Firefox вызываем скрытые настройки, для этого прописываем в адресной строке команду about:config и жмем Enter.
  2. Создаем новый параметр с названием general.useragent.override. Далее вызываем контекстное меню, выбираем «Создать» и «Строка».
  3. Вводим название параметра general.useragent.override и подтверждаем.
  4. В появившемся окне прописываем нужные данные User Agent.
  5. Проверяем результат подмены User Agent тестом на сайте сайт.

Как изменить User Agent в браузере Opera

В браузере Opera подмена User Agent возможна с помощью плагина «User-Agent Switcher».

  1. В меню браузера Opera находим «Расширения» и загружаем плагин «User-Agent Switcher».
  2. После установки кликаем на иконку плагина «User-Agent Switcher» и выбираем любые данные, которые будут отображаться в User Agent.
  3. Проверяем правильность подмены User Agent тестом на сайте сайт.

Приветствую!

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

И помимо дизайна, функционала и «движка», они также имеют и свои собственные идентификаторы. Эти идентификаторы именуются просто – юзер агент.

И если у вас возникла необходимость посмотреть юзер агент, что имеет используемый вами браузер, то данная задача решается молниеносно. Рассмотрим, как это можно сделать наиболее быстро и просто.

Узнаём User Agent интернет-браузера – инструкция

Дабы выполнить задуманное, не требуется использовать какое-либо стороннее программное обеспечение и тому подобные вещи. User Agent вместе с другой технической информацией автоматически передаётся при посещении любого сайта, браузер таким образом «представляется», ведь от данного параметра порой зависит, какую версию сайта в итоге увидит посетитель. К примеру, если в юзер агенте фигурирует: Android, iOS, Mobile, то предполагается, что пользователь просматривает сайт с мобильного гаджета – тогда ему показывается облегчённая версия сайта.

С принципом передачи юзер агента и того, зачем это нужно, мы разобрались. Теперь осталось дело за малым – узнать юзер агент собственного браузера.

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

Там же можно подчеркнуть дополнительную информацию о вашем браузере, а также ваш IP адрес.