Interprétation de l'agent utilisateur vide

12

Comment dois-je interpréter un User-agent vide? J'ai un code d'analyse personnalisé et ce code doit analyser uniquement le trafic humain. J'ai une liste de travail des agents utilisateurs indiquant le trafic humain et le trafic de robots, mais l'agent utilisateur vide s'avère problématique. Et je reçois beaucoup de trafic avec l'agent utilisateur vide, environ 10%.

De plus, j'ai conçu la liste des agents utilisateurs du trafic humain par rapport au trafic bot en analysant mes journaux actuels. En tant que tel, je pourrais manquer beaucoup d'entrées là-dedans. Existe-t-il une liste bien tenue d'agents utilisateurs dénotant le trafic de robots ou, au contraire, une liste d'agents utilisateurs dénotant le trafic humain?

Amit Agrawal
la source
1
La liste des éventuels user-agents est incroyablement longue. Par exemple, consultez la liste des agents utilisateurs mobiles uniquement ici: zytrax.com/tech/web/mobile_ids.html
Max Vernon
L'agent utilisateur vide est assez rare - quel logiciel serveur utilisez-vous? Comment obtenez-vous l'agent utilisateur? Êtes-vous sûr qu'il est vraiment vide ou y a-t-il un bogue dans votre système de collecte qui crée des agents utilisateurs vides?
Max Vernon
@Max - Je suis moi-même surpris par l'agent utilisateur vide. J'utilise la pile LAMP. Je collecte l'agent utilisateur via PHP en tant que $ _SERVER ['HTTP_USER_AGENT']. Le code est simple; bien que je ne puisse pas entièrement ignorer la possibilité que l'agent utilisateur soit là mais que mon code ne le collecte pas ou que la base de données refuse de le stocker, je doute que ce soit le cas.
1
Si vous avez accès aux journaux d'accès d'Apache: les agents utilisateurs enregistrés sont-ils vides également?
vous avez peut-être un grattoir accédant à votre site? Cela pourrait être une façon pour les visiteurs de ne pas avoir d'USER_AGENT
Max Vernon

Réponses:

5

Si vous souhaitez analyser uniquement le "trafic humain", je ne compterais pas ceux dont la chaîne d'agent utilisateur est vide ou manquante. D'après mon expérience, presque tous les navigateurs en enverront toujours un. Même la plupart des plugins ou extensions de confidentialité sont plutôt faux (incluent un autre nom de système d'exploitation ou de client) ou "normalisent" (par exemple, aucun numéro de version) ou randomisent (par exemple parfois FF, parfois des chaînes IE) les chaînes UA, mais ne les suppriment pas complètement (car cela pourrait causer des problèmes avec certains sites qui en dépendent, même si ce n'est pas une bonne idée.)

Une simple demande sans UA peut se faire comme ceci:

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

Comme vous le voyez, vous pouvez ajouter tout ce que vous voulez. Les sites qui stockent et publient des UA trouvés "à l'état sauvage" ne sont pas d'une grande utilité car ils trouvent beaucoup de merde.

Peut-être que quelqu'un vient de récupérer récursivement votre contenu. Ou utilisé un outil de référencement pour analyser votre site (certains permettent aux utilisateurs de modifier manuellement l'en-tête, d'autres avec l'intention d'ignorer une ligne robots.txt). Des choses comme ça. Dans ces situations, l'en-tête UA est souvent truqué pour masquer le client et le but.

Si ces demandes restent constamment présentes, il pourrait être utile d'analyser plus en détail les en-têtes (Proxy?) Ou les IP (Un certain bloc? Société concernée par la confidentialité / Proxy?)

initall
la source
2

Je travaille pour une entreprise de sécurité et, entre autres, nous surveillons le trafic de Bad Bot.

D'après mon expérience, les visites humaines avec des données vierges de l'agent utilisateur indiquent des tentatives de grattage / spamming (généralement grattage) effectuées par des robots "sans navigateur".

Ces visiteurs peuvent parfois exécuter JS, et ils apparaîtront donc dans GA - encore, cette dose ne les rend pas humains :)

Veuillez vous excuser pour le «plug», mais sachez que, si nécessaire, nous offrons des services de protection contre les bots gratuits - couplés à l'accélération CDN et à d'autres avantages.

Dans ce cas spécifique, notre système reconnaîtrait cette visite comme "suspecte", la vérifiait par rapport aux vecteurs d'attaque connus et - si elle n'était toujours pas sûre - effectuait d'autres tests et défis. Ces défis sont exécutés de manière transparente, sans retarder la session.

Igal Zeifman
la source
0

Chaque bit de logiciel qui accède à Internet n'est pas comme par magie doté d'un agent utilisateur. Les développeurs de logiciels doivent programmer cette fonctionnalité dans leur logiciel. Votre agent utilisateur vide signifie simplement qu'un développeur de logiciel a oublié d'ajouter un agent utilisateur à son logiciel.


la source
Ou qu'un utilisateur de navigateur a supprimé / bloqué la chaîne UA.
unor
5
C'est faux. Le dire «signifie simplement» implique que c'est généralement ou au moins souvent la raison. Peu de gens utilisent un logiciel http dont le développeur aurait ignoré l'AU par paresse. Si quoi que ce soit, cela indique presque toujours que la source de trafic ne voulait pas être identifiée et est profondément associée à un trafic malveillant ou exploiteur. Malheureusement, certaines grandes entreprises (Facebook) ont utilisé des chaînes d'agent utilisateur vides dans le passé, il n'est donc pas nécessairement sage de les bloquer complètement.
jerclarke
1
@jeremyclarke +1 Ce type de comportement ne doit jamais être négligé! Et honte sur Facebook! Si un robot ou un navigateur légitime doit consulter un site, il doit toujours avoir un identifiant. Après tout, ils entrent dans la propriété de quelqu'un d'autre. Ne pas avoir d'agent utilisateur, c'est comme un cambrioleur se faufiler avec un masque pour masquer son identité.
whitebeard
2
C'est comme quelqu'un avec son visage couvert marchant d'avant en arrière sur le trottoir devant votre maison. Pas nécessairement illégal, mais si vous ne répondez pas à la porte, ils ne devraient pas supposer que vous êtes un écrou paranoïaque.
jerclarke
0

Je vois quelques commentaires dans les réponses à cette question comparant l'agent utilisateur à cacher votre identité ou à être humain. C'est une comparaison absurde. User-Agent n'a rien à voir avec l'identité ou l'être humain.

Pensez-y comme des chaussures. Vous demandez à vos visiteurs quel type de chaussures ils portent avant de les laisser entrer. Les utilisations les plus courantes sont de savoir quel type de tapis vous devez dérouler, le joli tapis rouge pour des chaussures habillées propres, le paillasson laid pour boueux des bottes et pas de tapis pour les visiteurs allergiques aux tapis.

Lorsque les visiteurs ne veulent pas dire quelles chaussures ils ont (aka. User-Agent vide), vous les ignorez.

Oui, il existe de nombreuses bonnes pratiques qui essaient de supposer des choses sur la demande Web en fonction de l'agent utilisateur et d'autres informations d'en-tête de demande. Ils peuvent fonctionner très bien 99% du temps, mais comme avec tant d'autres pratiques similaires, ils sont sujets à de faux positifs et nuisent ainsi aux utilisateurs ignorants normaux.

Ayant moi-même rencontré le problème d'utiliser accidentellement un User-Agent vide, je peux certainement dire que ce n'est pas amusant lorsqu'un service Web vous traite différemment simplement parce que vous n'avez pas pensé à lui parler de vos chaussures.

Deantwo
la source