Модуль user_agents в Python.
Модуль user_agents
предоставляет простой способ идентифицировать/обнаруживать устройства, такие как мобильные телефоны, планшеты и их возможности, путем синтаксического анализа (браузер/HTTP) строк пользовательского агента. Цель состоит в том, чтобы надежно определить:
- Название пользовательского браузера и его версию, версию операционной системы.
- Что представляет из себя user agent: мобильное устройство, планшет или ПК.
- Имеет ли user agent сенсорные возможности (имеет сенсорный экран).
Модуль user_agents
полагается на отличный ua-parser
для фактического синтаксического анализа необработанной строки пользовательского агента (user agent).
Установка модуля
user_agents
в виртуальное окружение:# создаем виртуальное окружение $ python3 -m venv .venv --prompt VirtualEnv # активируем виртуальное окружение $ source .venv/bin/activate # ставим модуль user_agents (VirtualEnv) Idea@Centre:~$ python -m pip install -U user_agents
Доступ к атрибутам браузера пользователя.
К различной базовой информации, которая может помочь идентифицировать посетителей, можно получить доступ к атрибутам браузера, устройства и ОС.
Примеры.
# Строка пользовательского агента iPhone >>> ua_string = """Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3""" # Импортируем установленный модуль >>> from user_agents import parse # передаем строку пользовательского агента парсеру >>> user_agent = parse(ua_string)
Доступ к атрибутам браузера:
>>> user_agent.browser # Browser(family='Mobile Safari', version=(5, 1), version_string='5.1') >>> user_agent.browser.family # 'Mobile Safari' >>> user_agent.browser.version # (5, 1) >>> user_agent.browser.version_string # '5.1'
Доступ к свойствам операционной системы:
>>> user_agent.os # OperatingSystem(family='iOS', version=(5, 1), version_string='5. 1') >>> user_agent.os.family # 'iOS' >>> user_agent.os.version # (5, 1) >>> user_agent.os.version_string # '5.1'
Доступ к свойствам устройства:
>>> user_agent.device # Device(family='iPhone', brand='Apple', model='iPhone') >>> user_agent.device.family # 'iPhone' >>> user_agent.device.brand # 'Apple' >>> user_agent.device.model # 'iPhone' # Viewing a pretty string version >>> str(user_agent) # "iPhone / iOS 5.1 / Mobile Safari 5.1"
Определение класса устройства пользователя и его возможностей.
Модуль user_agents
также предоставляет несколько других, более «сложных» атрибутов, которые являются производными от одного или нескольких основных атрибутов, определенных выше. На данный момент эти атрибуты должны правильно определять популярные платформы/устройства.
В настоящее время поддерживаются следующие атрибуты:
is_mobile
: идентифицируется ли пользовательский агент как мобильный телефон (iPhone, телефоны Android, устройства Blackberry, Windows Phone и т. д.),is_tablet
: идентифицируется ли пользовательский агент как планшет (iPad, Kindle Fire, Nexus 7 и т. д.),is_pc
: идентифицирован ли пользовательский агент как работающий с традиционной «настольной» ОС (Windows, OS X, Linux),is_touch_capable
: есть ли у пользовательского агента сенсорные возможности,is_bot
: является ли пользовательский агент сканером/пауком/ботом.
Примеры.
Старое устройство Blackberry без сенсорного управления:
>>> from user_agents import parse >>> ua_string = """BlackBerry9700/5.0.0.862 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/331 UNTRUSTED/1.0 3gpp-gba""" >>> user_agent = parse(ua_string) >>> user_agent.is_mobile # True >>> user_agent.is_tablet # False >>> user_agent.is_touch_capable # False >>> user_agent.is_pc # False >>> user_agent.is_bot # False >>> str(user_agent) # "BlackBerry 9700 / BlackBerry OS 5 / BlackBerry 9700"
Строка пользовательского агента Samsung Galaxy S3:
>>> from user_agents import parse >>> ua_string = """Mozilla/5. 0 (Linux; U; Android 4.0.4; en-gb; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30""" >>> user_agent = parse(ua_string) >>> user_agent.is_mobile # True >>> user_agent.is_tablet # False >>> user_agent.is_touch_capable # True >>> user_agent.is_pc # False >>> user_agent.is_bot # False >>> str(user_agent) # "Samsung GT-I9300 / Android 4.0.4 / Android 4.0.4"
Строка пользовательского агента iPad:
>>> from user_agents import parse ua_string = """Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10""" >>> user_agent = parse(ua_string) >>> user_agent.is_mobile # False >>> user_agent.is_tablet # True >>> user_agent.is_touch_capable # True >>> user_agent.is_pc # False >>> user_agent.is_bot # False >>> str(user_agent) # "iPad / iOS 3. 2 / Mobile Safari 4.0.4"
Строка пользовательского агента Kindle Fire:
>>> from user_agents import parse >>> ua_string = """Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-80) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true""" >>> user_agent = parse(ua_string) >>> user_agent.is_mobile # False >>> user_agent.is_tablet # True >>> user_agent.is_touch_capable # True >>> user_agent.is_pc # False >>> user_agent.is_bot # False >>> str(user_agent) # "Kindle / Android / Amazon Silk 1.1.0-80"
Пользовательский агент устройства с ОС Windows 8 с сенсорным экраном:
>>> from user_agents import parse >>> ua_string = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Touch)' >>> user_agent = parse(ua_string) >>> user_agent.is_mobile # False >>> user_agent.is_tablet # False >>> user_agent. is_touch_capable # True >>> user_agent.is_pc # True >>> user_agent.is_bot # False >>> str(user_agent) # "PC / Windows 8 / IE 10"
Юзерагент / Узнать User-Agent
Robot | Path | Permission |
GoogleBot | / | ✔ |
BingBot | / | ✔ |
BaiduSpider | / | ✔ |
YandexBot | / | ✔ |
Title | Узнать User-Agent |
Description | Узнайте юзерагент браузера, версию операционной системы и другую информацию |
Keywords | N/A |
WebSite | www. |
Host IP | 51.15.86.16 |
Location | Netherlands |
Site | Rank |
browser-info.ru | #2,111,886 |
whatbrowser.ru | #3,042,622 |
seo-inf.ru | #5,581,557 |
xn--cckea0esc6bci0tnd9d6174cw65apt8c485b.com |
xritephoto.eu |
xritephoto.ru |
yadaki. online |
yappango.com |
ymc.co.jp |
ynshangji.com |
yojanahindi.in |
yourblog.in.ua |
yourmovie.org |
senioraparments-independentlivinglist.online |
spell775pluralmodern.live |
US$3,574 Юзерагент.рф has global traffic rank of 4,738,583. Юзерагент.рф has an estimated worth of US$ 3,574, based on its estimated Ads revenue. Юзерагент.рф receives approximately 652 unique visitors each day. Its web server is located in Netherlands, with IP address 51.15.86.16. According to SiteAdvisor, юзерагент.рф is safe to visit. |
Purchase/Sale Value | US$3,574 |
Daily Ads Revenue | US$1 |
Monthly Ads Revenue | US$58 |
Yearly Ads Revenue | US$714 |
Daily Unique Visitors | 652 |
Note: All traffic and earnings values are estimates. |
Global Rank | 4,738,583 |
Delta (90 Days) | 0 |
Most Popular In Country | N/A |
Country Rank | N/A |
Host | TTL | Data | |
xn--80agecg4bru4h. xn--p1ai | A | 299 | IP: 51.15.86.16 |
xn--80agecg4bru4h.xn--p1ai | MX | 299 | Priority: 10 Target: mx.yandex.net. |
xn--80agecg4bru4h.xn--p1ai | NS | 21599 | Target: sue.ns.cloudflare.com. |
xn--80agecg4bru4h.xn--p1ai | NS | 21599 | Target: dom. ns.cloudflare.com. |
xn--80agecg4bru4h.xn--p1ai | TXT | 299 | TXT: v=spf1 redirect=_spf.yandex.net |
xn--80agecg4bru4h.xn--p1ai | SOA | 3599 | MNAME: dom.ns.cloudflare.com. RNAME: dns.cloudflare.com. Serial: 2031732192 Refresh: 10000 Retry: 2400 Expire: 604800 Minimum TTL: 3600 |
HTTP/1.1 301 Moved Permanently Server: nginx/1.10.3 (Ubuntu) Date: Tue, 07 Jan 2020 03:07:29 GMT Content-Type: text/html Content-Length: 194 Connection: keep-alive Location: https://xn--80agecg4bru4h. xn--p1ai HTTP/2 200 server: nginx/1.10.3 (Ubuntu) date: Tue, 07 Jan 2020 03:07:30 GMT content-type: text/html; charset=utf-8 content-length: 5668 x-frame-options: SAMEORIGIN |
domain: XN--80AGECG4BRU4H.XN--P1AI nserver: dom.ns.cloudflare.com. nserver: sue.ns.cloudflare.com. state: REGISTERED, DELEGATED, VERIFIED person: Private Person registrar: NETHOUSE-RF admin-contact: https://domains.nethouse.ru/whois/form created: 2017-09-02T11:13:03Z paid-till: 2020-09-02T11:13:03Z free-date: 2020-10-03 source: TCI Last updated on 2020-01-07T03:06:34Z |
Навигатор userAgent Свойство
❮ Предыдущий ❮ Справочник по объектам навигатора Далее ❯
Пример
Получить navigator.userAgent:
let agent = navigator.userAgent;
Попробуйте сами »Другие примеры «Попробуйте сами» ниже.
Описание
Свойство userAgent
возвращает заголовок пользовательского агента, отправленный
браузер на сервер.
Свойство userAgent
доступно только для чтения.
Возвращаемое значение содержит информацию об имени браузера, версии и платформе.
Веб-спецификация предполагает, что браузеры должны предоставлять как можно меньше информации в заголовке. Никогда не думайте, что это свойство останется неизменным в будущих браузерах.
Синтаксис
navigator.userAgent
Возвращаемое значение
Тип | Описание |
Строка | Заголовок пользовательского агента браузера. |
Дополнительные примеры
Показать все свойства навигатора:
let text = «
Кодовое имя браузера: » + navigator.appCodeName + «
» +«
Имя браузера: » + navigator .appName + «
» +«
Версия браузера: » + navigator. appVersion + «
» +«
Включенные файлы cookie: » + navigator.cookieEnabled + «
» +«
Язык браузера: » + navigator.language + «
» +«
Интернет-браузер: » + navigator.onLine + «
» +«
Платформа: » + navigator.platform + «
» +«
Заголовок User-agent: » + navigator.userAgent + «
«; Попробуйте сами »Поддержка браузеров
navigator.userAgent
поддерживается во всех браузерах:
Хром | Край | Фаерфокс | Сафари | Опера | ИЭ |
Да | Да | Да | Да | Да | Да |
❮ Предыдущий ❮ Справочник по объектам навигатора Следующий ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебное пособие по HTMLУчебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3. CSS
Учебное пособие по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
Лучшие ссылки
HTML ReferenceCSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference
901 16 лучших примеров Примеры HTML
Примеры CSS
Примеры JavaScript
Как сделать Примеры
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности. Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.
Понимание строки User-Agent | 51Degrees
Просматривая веб-страницы, мы привыкли ожидать плавной работы от веб-сайты, которые мы посещаем. И как владельцы веб-сайтов, мы стремимся улучшить производительность и вовлеченность наших веб-сайтов. понимая наших посетителей. Нам необходимо понимать их различные характеристики, от их местоположения до браузера, операционной системы и аппаратного обеспечения устройства, которое они используют для доступа к нашему сайту.
Эта информация поддерживает множество вариантов использования, включая аналитика и оптимизация веб-сайта, функции безопасности, если ваш пользователь входит на ваш сайт с нового устройства, или адаптация контента специально для используемого устройства (например, мобильного телефона). Все эти варианты использования требуют знания устройство, браузер или операционная система вашего пользователя.
Один из способов собрать эту информацию — через User-Agent — тип заголовка HTTP-запроса. В течение почти тридцати лет User-Agent был хорошо зарекомендовавшей себя частью Интернета. опыт. Однако Google создал новый HTTP-заголовок для замены User-Agent: User-Agent Client Hints (UA-CH).
Более подробная информация о клиентских подсказках агента пользователя приведена далее в этом блоге. А пока давайте более подробно разберем User-Agent.
Содержание
Распаковка строки User-Agent
Другие строки User-Agent
Почему строки User-Agent такие?
Программное обеспечение/операционные системы
Веб-браузер
Аппаратное обеспечение устройства
Краулеры
Изменение строки User-Agent
Будущее строки User-Agent
Обнаружение устройства User-Agent
Распаковка строки User-Agent
Информация, содержащаяся в заголовке HTTP-запроса User-Agent, также известна как строка User-Agent (UA). Эта строка содержит информацию на устройстве. Например, если вы просматриваете веб-страницы на своем смартфоне, ваше устройство будет отправить заголовок HTTP-запроса на веб-сервер, говоря, что это мобильное устройство. Затем веб-сайт ответит и покажет вам мобильную версию страницы.
Мы могли бы просто дать вам список строк User-Agent и покончить с этим. Но это не особенно хорошо для развития вашего обучения, не так ли?
Вместо этого давайте рассмотрим некоторые примеры строк User-Agent:
Mozilla/5.0 (Linux; Android 12; Pixel 6) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36
Mozilla/5.0 появляется в начале большинства строк UA. Его можно в значительной степени игнорировать поскольку он не имеет отношения к связанному устройству. Исторически он использовался для указать совместимость с движком рендеринга Mozilla, частью программного обеспечения который рисует текст и изображения на экране.
Линукс; Android 12 рассказывает нам подробности об операционной системе. В этом случае Устройство работает под управлением операционной системы Android, в основе которой лежит Linux.
Для строк Mobile User-Agent раздел строки Pixel 6 сообщает нам устройство название или номер модели устройства. В данном случае этот User-Agent пришел из Google Телефон пиксель 6. В других случаях (например, для настольного устройства Windows) элемент строки может определять архитектуру устройства.
AppleWebKit/537.36 указывает, какой механизм рендеринга браузера используется. Рендеринг Engine — это то, что превращает HTML в интерактивную веб-страницу на экране пользователя. Браузерный движок WebKit был разработан Apple и в основном используется Safari, Chromium и все другие браузеры на основе WebKit.
(KHTML, как Gecko). Этот раздел строки не обязательно предоставляет больше подробно на устройстве, но обеспечивает совместимость по историческим причинам. Проверить история пользовательского агента руководство по строкам от Human Who Codes для более подробной информации.
И, наконец, Chrome/93.0.4577.62 Mobile Safari/537.36 содержит более подробную информацию о Браузер и номер его версии. В этом примере устройство использует мобильная версия Chrome, версия 93.
Итак, различные разделы этой строки User-Agent Chrome:
Mozilla/5.0 (Linux; Android 12; Pixel 6) AppleWebKit/537.36 (KHTML, например Gecko) Chrome /93.0.4577.62 Mobile Safari/537.36
Давайте посмотрим на другой пример, на этот раз это пользовательский агент Firefox:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Пользователь Firefox Строки агента, как правило, имеют четырехкомпонентный формат, тогда как строки пользовательского агента Chrome могут включать больше элементов. В приведенном выше случае движком рендеринга является Gecko и rv:94.0. это номер его версии. Win64; x64 указывает, что устройство использует 64-разрядная версия Windows с архитектурой компьютера x64.
Почему строки User-Agent такие?
Части Mozilla/5. 0 и (KHTML, например, Gecko) строки User-Agent могут быть в значительной степени игнорируются, но почему они были включены в первую очередь?
Первоначально строка User-Agent не создавалась для того, чтобы сбивать с толку, но она была необходимым злом для обеспечения совместимости между новыми и старыми браузерами. Чтобы новые браузеры получили свой кусок пирога на рынке браузеров, они должны убедиться, что они не исключено, потому что они новые.
Например, в блоке появился новый браузер под названием «VeryNewBrowser». Ваш User-Agent содержит информацию о том, что вы используете VeryNewBrowser для доступа к веб-сайту. Многие сайты (неправильно!) увидят, что VeryNewBrowser не является PopularBrowser, поэтому предоставят вам дрянную версию веб-сайта.
Чтобы противодействовать этому, User-Agent может содержать «PopularBrowser (фактически VeryNewBrowser)» который обманывает веб-сервер, заставляя его думать, что вы используете PopularBrowser.
Это добавление к строке User-Agent продолжается много-много лет, пока, в конце концов, вы не окажетесь там, где мы есть сегодня. Все утверждают, что это Mozilla 5.0; Android Chrome претендует на звание Mobile Safari; Mobile Safari утверждает, что это Gecko. Это может стать очень запутанным, очень быстро. Посетите блог WebAIM для получения дополнительной информации об истории совместимости строки агента пользователя.
Другие строки User-Agent
Строки User-Agent не обязательно имеют одинаковый формат. Вы можете увидеть строку следующего вида:
Dalvik/2.1.0 (Linux; U; Android 9.0; ZTE BA520 Build/MRA58K)
Выглядит страшно, правда? Но когда вы начинаете смотреть глубже, вы можете видеть, что это Android-телефон ZTE. Чтобы получить больше информации, вы можете запустить строку UA через наш парсер User-Agent, а остальное он расшифрует!
Важно отметить, что не всегда легко обнаружить устройство. Для Например, строки User-Agent для iPad или iPhone не всегда содержат много информации о Устройство. Кроме того, с каждым выпуском нового устройства Apple оно получает труднее идентифицировать между последними устройствами.
С выходом iOS 12.2, Apple изменила значения, возвращаемые из WebGL, чтобы предотвратить точное определение iPhone. или модель iPad устройства iOS, полученная в JavaScript.
В следующей строке User-Agent мы можем только определить, что это Устройство iPhone — мы не можем определить точную модель устройства.
Mozilla/5.0 (iPhone; ЦП iPhone OS 12_1, например Mac OS X) AppleWebKit/605.1.15 (KHTML, как Gecko) Версия/12.1 Mobile/15E148 Safari/604.1
Наше средство обнаружения устройств избавляет от необходимости идентифицировать устройства с помощью User-Agent. С момента выпуска iOS 12.2 мы обновили обнаружение устройств с помощью двухкомпонентное решение для идентификации Apple устройства: хеширование изображений и бенчмаркинг.
Протестируйте идентификацию нашего устройства с помощью строки User-Agent iPhone. Хорошо возьмите строку и покажите, какую информацию мы можем извлечь из нее.
User-Agent-тестерПрограммное обеспечение/операционные системы
Давайте поговорим о разделе операционных систем (ОС) строки UA. Некоторые из основным программным обеспечением ОС, используемым различными устройствами, являются Android, Windows и Chrome OS. (настольная ОС на базе Linux, разработанная Google).
Для устройств Apple у нас есть iOS, iPadOS, macOS (ранее Mac OS X и более поздние версии ОС). X), tvOS и watchOS. Вы также можете включить Дарвина в этот список, так как он Unix-подобная операционная система с открытым исходным кодом, впервые выпущенная Apple в 2000 году. факт: Дарвин формирует базовый набор компонентов, на основе которого работает другая ОС Apple. программное обеспечение построено на.)
В строке UA вы можете найти информацию как об операционной системе, так и его номер версии. Каждый поставщик программного обеспечения определяет свою собственную систему нумерации, а также является ли каждый выпуск второстепенным или основным приращением.
Кажется простым, но не думайте, что поставщик программного обеспечения всегда будет следовать одному и тому же шаблон для нового выпуска — иногда могут измениться соглашения или номера версий пропускаются. И если этого было недостаточно, User-Agent не всегда представляет имя браузера и номер версии согласованным образом.
Чтобы поддерживать работоспособность нашей базы данных User-Agent, мы регулярно сопоставляем новые User-Agent, особенно, когда есть новые версии ОС, которые недавно были выпущенный. Крайне важно, чтобы мы предоставляли нашим клиентам наиболее точную и актуальная база данных User-Agent.
Веб-браузер
Строка UA также содержит информацию о типе используемого веб-браузера устройством. Одними из наиболее известных веб-браузеров являются Chrome, Safari, Эдж, Фаерфокс и Опера.
Как и поставщики программного обеспечения, каждый поставщик браузера (например, Google для Chrome и Mozilla для Firefox) определяет собственную систему нумерации. Версии браузера могут быть представлены в строке на разных стадиях цикла разработки. Для например, строка UA может содержать браузер в бета-версии, canary или стадия разработчика.
Опять же, имя браузера и номер версии не всегда представлены в последовательным образом. Например, давайте посмотрим на эту общую строку User-Agent для Android:
Mozilla/5.0 (Linux; Android 10; POT-LX1) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/95.0.4621.2 Mobile Safari/537.36
На первый взгляд, вы можете посмотреть на эту строку UA и предположить, что поставщик браузера Mozilla или даже Safari на мобильных устройствах (благодаря Mozilla/5.0’ и Mobile Safari/537.36 части строки). На самом деле, для этой строки браузер Версия Chrome 95.0.4621.2. Стоит замедлиться и тщательно проанализировать UA нить!
Если у вас возникнут сомнения относительно того, какая информация содержится в строке UA, мы рекомендуем обратиться к нашему User-Agent тестер, чтобы сделать весь жесткий анализ для вас.
Аппаратное обеспечение устройства
В строке UA присутствует ключевой элемент, который можно использовать для обнаружения Устройство. Этот элемент детализирует, является ли физическое устройство, которое обращается к веб-сайт представляет собой мобильный телефон, планшет, электронную книгу, смарт-телевизор или игровую приставку (для имя, но несколько).
Например, строка UA ниже говорит нам, что устройство модели 2018 года. Samsung Galaxy J7:
Mozilla/5.0 (Linux; Android 8.0.0; SAMSUNG SM-J737F) AppleWebKit/537.36 (KHTML, например Gecko) SamsungBrowser/14.0 Chrome/87.0.4280.141 Mobile Safari/537.36
Иногда бывает трудно быть уверенным в аппаратном обеспечении устройства. Самый большой Причина этого в том, что в строке UA отсутствует информация, или устройство может принадлежать нескольким поставщикам.
Mozilla/5.0 (Linux; Android 9; S20_EEA Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, как Gecko) Версия/4.0 Chrome/95.0.4638.74 Safari/537.36
В этой строке UA единственной предоставляемой информацией об устройстве является «S20». Что могло обратитесь к любому из этих поставщиков оборудования:
Samsung Galaxy S20
ЗАВОЕВАНИЕ S20
Сахар S20
XGODY S20
Сканеры
Пользовательский агент не всегда связан с физическим устройством. Иногда они представляют собой нечто, называемое краулером.
Поисковый робот — это тип веб-трафика, работающий без участия человека. Его целью является мониторинг доступности или производительности веб-сайта, получение информация для включения в поисковые системы или службы мониторинга.
Краулеры имеют много названий — боты, роботы, пауки, зонды, мониторы — но они как правило, их легко обнаружить, и они не обязательно вредны для вашего веб-сайта.
Хороший краулер с гордостью называет себя краулером, часто включая слово «бот». в какой-то момент в строке UA:
Mozilla/5.0 (совместимо; bingbot/2.0; +http://www.bing.com/bingbot.htm)
Однако злоумышленники могут сканировать ваш веб-сайт в поисках электронной почты. адреса для отправки рассылать спам или пытаться получить доступ к странице входа в систему разработки вашего веб-сайта. С эти плохие поисковые роботы будут активно пытаться скрыть свои намерения, они могут подделать их User-Agent должен выглядеть как стандартное устройство.
Недавно мы создали метод для фильтрации этих вредоносных сканеров с нашего веб-сайта. аналитические отчеты. Узнайте, как вы можете использовать информацию строки агента пользователя для найти эти вредоносные сканеры.
Изменение строки User-Agent
Давайте поговорим подробнее о спуфинге User-Agent, как упоминалось выше. Пользовательский агент спуфинг можно свести к замене символов в строке User-Agent любым из нескольких символов на всю строку.
Изменить строку UA на удивление легко — вы можете сменить браузер User-Agent, нажав F12 на клавиатуре, чтобы открыть отладку вашего браузера. инструмент. Кроме того, в большинстве основных браузеров есть плагины, которые могут подделать для вас UA. Найдите «User-Agent changer» или «User-Agent switcher» в вашем браузере. плагины и надстройки, чтобы увидеть, что доступно.
Одним из преимуществ подмены вашего User-Agent является то, что вы можете проверить свой веб-сайт на различные устройства. Легко изменить строку с рабочего стола на мобильный. Однако есть более надежные способы проверить ваш сайт на мобильность. дружелюбие (ознакомьтесь с нашей статьей о мобильных эмуляторы, чтобы узнать больше).
Доступность спуфинга User-Agent отлично подходит для скромного пользователя, который просто хочет протестировать свой сайт на другом устройстве. Но в руках а вредоносный сканер, наличие поддельного агента пользователя может изменить точность обнаружение устройства.
Когда вся строка изменена, может быть почти невозможно определить, строка принадлежит реальному устройству или нет. Однако, когда только часть строка изменена, все еще возможно обнаружить устройство с удовлетворительным уровнем точности.
Например, возьмем поддельную строку User-Agent:
Mozilla/5.0 (Linux;Android 3.1ipad 4 Build/AppleWebKit Gecko) Version/4.0 Safari/534
В этой строке содержится противоречивая информация, так как она содержит и айпад. Пользовательский агент iPad имеет тенденцию следовать формату Мозилла/5. 0 (iPad… , что здесь не так. Следовательно, вы можете сделать вывод, что это Android-устройство, а не iPad.
Будущее строки User-Agent
Из этой статьи видно, что мы знаем толк в обнаружении информация из заголовка HTTP-запроса User-Agent.
Однако перемены не за горами. Альтернатива Google HTTP-заголовок User-Agent, подсказки клиента User-Agent (UA-CH), за счет уменьшения UA string на всех устройствах Chrome в первой половине 2023 года.
User-Agent Client Hints анализируют информацию об устройстве аналогично User-Agent, но часто включают дополнительные информация в ответе, такая как Sec-CH-UA-Platform или Sec-CH-UA-Mobile.
Это одностороннее изменение, продвигаемое только одной компанией, вынудило другие адаптироваться, независимо от того, хотят они того или нет. Не все клиентские подсказки User-Agent отправляются по умолчанию, поэтому владельцам веб-сайтов потребуется выполнить дополнительную работу, чтобы адаптироваться к переменам.