Інтерпретація порожнього User-агента


12

Як слід інтерпретувати порожній User-agent? У мене є власний код аналітики, і цей код повинен аналізувати лише людський трафік. У мене є робочий список User-агентів, що позначають людський трафік і трафік бота, але порожній User-agent виявляється проблематичним. І я отримую багато трафіку з порожнім User-агентом, приблизно 10%.

Крім того, я склав список користувачів посередницького трафіку та бота, аналізуючи мої поточні журнали. Як такий, я, можливо, пропускаю безліч записів. Чи є добре підтримуваний список користувацьких агентів, що позначають трафік бота, або, навпаки, список користувацьких агентів, що позначають людський трафік?


1
Список можливих користувачів-агентів неймовірно довгий. Наприклад, подивіться список мобільних агентів лише для мобільних пристроїв тут: zytrax.com/tech/web/mobile_ids.html
Макс Вернон

Пустий користувальницький агент досить рідкісний - яке серверне програмне забезпечення ви використовуєте? Як ви отримуєте користувальницький агент? Ви впевнені, що він справді порожній, чи є помилка у вашій системі колекцій, яка створює порожні користувацькі агенти?
Макс Вернон

@Max - Я сам здивований порожнім агентом користувача. Я використовую стек LAMP. Я збираю агент користувача через PHP як $ _SERVER ['HTTP_USER_AGENT']. Код простий; хоча я не можу повністю знизити можливість того, що агент користувача є, але мій код не може його зібрати, або база даних відмовляється зберігати його, я сумніваюся, що це так.

1
Якщо у вас є доступ до журналів доступу Apache: Чи також порожні зареєстровані користувацькі агенти?

можливо, у вас є скрепер, який здійснює доступ до вашого сайту? Це може бути одним із способів, коли відвідувачі не мають USER_AGENT
Макс Вернон

Відповіді:


5

Якщо ви хочете проаналізувати лише "людський трафік", я б не зараховував ті з порожнім або відсутнім рядком агента користувача. На мій досвід, майже будь-який браузер завжди надсилатиме його. Навіть більшість плагінів або розширень конфіденційності доволі підроблені (включають іншу ОС або ім'я клієнта) або "нормалізують" (наприклад, номери випуску) або рандомізують (наприклад, іноді FF, іноді рядки IE) рядки UA, але не видаляють їх повністю (оскільки це може бути створювати проблеми на деяких сайтах, на які покладаються, навіть якщо це не дуже гарна ідея.)

Простий запит без UA можна зробити так:

wget --user-agent="" www.example.com

Як бачите, ви можете додати все, що завгодно. Сайти, які зберігають та публікують знайдені UA "в дикій природі", не користуються великою користю, оскільки вони знаходять багато лайна.

Можливо, хтось просто рекурсивно вибирав ваш вміст. Або використовували якийсь інструмент SEO для аналізу вашого сайту (деякі дозволяють користувачам вручну змінювати заголовок, інші з наміром ігнорувати рядок robots.txt). Такі речі. У таких ситуаціях заголовок UA часто підробляють, щоб приховати клієнта та мету.

Якщо ці запити постійно тримаються навколо, може бути корисним подальший аналіз заголовків (проксі-серверів?) Або IP-адрес (певний блок? Компанія, що займається конфіденційністю / проксі?)


2

Я працюю в охоронній компанії, і серед іншого ми відстежуємо трафік Bad Bot.

Виходячи з мого досвіду, відвідування людей із порожніми даними користувача-агента вказують на спроби скреблінгу / спаму (як правило, скребки), зроблені ботами "безголового браузера".

Ці відвідувачі іноді можуть виконувати JS, і тому вони з’являться в GA - все-таки ця доза не робить їх людьми :)

Вибачте за "штекер", але, будь ласка, знайте, що за потреби ми пропонуємо безкоштовні послуги щодо захисту Bad Bad - разом із прискоренням CDN та іншими смакотами.

У цьому конкретному випадку наша система визнала б цей візит "підозрілим", перевірила його проти відомих векторів нападу та, якщо вона ще не впевнена, - виконала подальші випробування та проблеми. Ці виклики виконуються плавно, не викликаючи затримки сеансу.


0

Кожен шматочок програмного забезпечення, що має доступ до Інтернету, не магічним чином надається користувачем. Розробники програмного забезпечення повинні запрограмувати цю функціональність у своєму програмному забезпеченні. Ваш порожній агент користувача означає, що розробник програмного забезпечення забув додати агент користувача до свого програмного забезпечення.


Або що користувач браузера видалив / заблокував рядок UA.
unor

5
Це неправильно. Якщо сказати це "просто означає", це означає, що це зазвичай або принаймні часто причина. Мало хто використовує програмне забезпечення http, хто з розробників не міг би пропустити UA від лінощів. Якщо що-небудь, це майже завжди вказує, що джерело трафіку не хочеться ідентифікувати, і це глибоко пов'язане зі зловмисним або експлуатаційним трафіком. На жаль, деякі великі компанії (Facebook) раніше використовували порожні рядки агентів користувача, тому не обов'язково цілком їх блокувати.
jerclarke

1
@jeremyclarke +1 Таку поведінку ніколи не слід нехтувати! І сором на Facebook! Якщо законному боту чи браузеру потрібно шукати сайт, у них завжди повинен бути ідентифікатор. Адже вони входять у чужу власність. Немає користувача-агента - це як грабіжник, який прокрадається за допомогою маски, щоб приховати їх особистість.
біла борода

2
Це ніби хтось із закритим обличчям ходить туди-сюди через узбіччя перед будинком. Це не обов'язково незаконно, але якщо ви не відповідаєте на двері, вони не повинні вважати, що ви параноїдний горіх.
jerclarke

0

Я бачу кілька коментарів у відповідях на це запитання, в яких порівнюється User-Agent із приховуванням вашої особи чи бути людиною. Це абсурдне порівняння. Користувач-агент не має нічого спільного з особистістю чи людиною.

Думайте про це як про взуття. Ви запитуєте своїх відвідувачів, який тип взуття вони вдягають перед тим, як ви їх пускаєте. Найчастіше це стосується того, щоб знати, який тип килима вам потрібно розгорнути, приємна червона доріжка для взуття з чистою сукні, некрасивий рушник для брудної черевики, і не килим для відвідувачів, які мають алергічні килими.

Коли відвідувачі не хочуть сказати, яке взуття у них (ака. Порожній User-Agent), ви їх ігноруєте.

Так, існує маса корисних практик, які намагаються припустити інформацію про веб-запит на основі User-Agent та іншої інформації заголовка запиту. Вони можуть спрацювати чудово у 99% часу, але, як і у багатьох інших подібних практик, вони схильні неправдиво і тим самим завдають шкоди нормальним неосвіченим користувачам.

Натрапивши на проблему випадкового використання порожнього User-Agent, я точно можу сказати, що це не весело, коли веб-сервіс ставиться до вас по-різному, тільки тому, що ви не думали розповісти це про своє взуття.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.