Интерпретация пустого User-агента

12

Как мне интерпретировать пустой User-agent? У меня есть некоторый код аналитики, и этот код должен анализировать только человеческий трафик. У меня есть рабочий список User-агентов, обозначающий человеческий трафик и бот-трафик, но пустой User-agent оказывается проблематичным. И я получаю много трафика с пустым User-agent, около 10%.

Кроме того, я обработал список пользовательских агентов по сравнению с бот-трафиком, проанализировав свои текущие журналы. Таким образом, я мог бы пропустить много записей там. Существует ли хорошо поддерживаемый список пользовательских агентов, обозначающих трафик ботов, или, наоборот, список пользовательских агентов, обозначающих человеческий трафик?

Амит Агравал
источник
1
Список возможных пользовательских агентов невероятно длинный. Например, посмотрите на список мобильных агентов пользователя: zytrax.com/tech/web/mobile_ids.html
Макс Вернон,
Пустой пользовательский агент встречается довольно редко - какое серверное программное обеспечение вы используете? Как вы получаете пользовательский агент? Вы уверены, что это действительно пусто, или есть какая-то ошибка в вашей системе сбора, которая создает пустые пользовательские агенты?
Макс Вернон
@ Макс - я сам удивлен пустым пользовательским агентом. Я использую 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-адресов (определенный блок? Конфиденциальность касается компании / прокси-сервера?)

initall
источник
2

Я работаю в охранной компании и, между прочим, мы отслеживаем трафик Bad Bot.

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

Эти посетители могут иногда выполнять JS, и поэтому они появятся в GA - тем не менее, эта доза не делает их людьми :)

Приносим извинения за «пробку», но, пожалуйста, знайте, что при необходимости мы предлагаем бесплатные услуги по защите Bad Bot - в сочетании с ускорением CDN и другими вкусностями.

В этом конкретном случае наша система распознала бы этот визит как «подозрительный», проверила его на наличие известных векторов атак и - если все еще не уверена - провела дальнейшее тестирование и испытания. Эти задачи выполняются без проблем, не вызывая задержки в сеансе.

Игал Зейфман
источник
0

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


источник
Или что пользователь браузера удалил / заблокировал строку UA.
ОООНР
5
Это не правильно. Сказать «просто значит» означает, что это обычно или, по крайней мере, часто причина. Мало кто использует программное обеспечение http, разработчик которого пропустил бы UA из-за лени. Во всяком случае, это почти всегда означает, что источник трафика не хочет быть идентифицированным, и тесно связан со злонамеренным или эксплуатируемым трафиком. К сожалению, некоторые крупные компании (Facebook) использовали пустые строки пользовательских агентов в прошлом, поэтому необязательно полностью их блокировать.
Джеркларк
1
@jeremyclarke +1 Такое поведение никогда не следует упускать из виду! И позор на Фейсбуке! Если законный бот или браузер должен просматривать сайт, у них всегда должен быть идентификатор. Ведь они входят в чужую собственность. Отсутствие пользовательского агента похоже на грабителя, крадущегося в маске, чтобы скрыть их личность.
Белоус
2
Это как кто-то с закрытым лицом, идущий взад-вперед по подиуму перед вашим домом. Не обязательно незаконно, но если вы не откроете дверь, они не должны предполагать, что вы параноик.
Джеркларк
0

Я вижу несколько комментариев в ответах на этот вопрос, сравнивающих User-Agent с тем, чтобы скрывать вашу личность или быть человеком. Это абсурдное сравнение. Пользователь-агент не имеет ничего общего с личностью или человеком.

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

Когда посетители не хотят говорить, какая у них обувь (так называемый пустой пользовательский агент), вы игнорируете их.

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

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

Deantwo
источник