2010-11-02 34 views
0

Est-il raisonnable de supposer que les agents utilisateurs de tous les robots ont toujours des URL dans les chaînes de l'agent utilisateur? Je, bien sûr, compare l'agent utilisateur à la liste des bots, mais l'idée ici est de faire une vérification préliminaire avant de la comparer à une longue liste. Peut-être que si je pouvais reformuler ma question, y a-t-il une créature valide non-robot, non-robot, non-araignée ou non-sale qui a une URL dans l'agent utilisateur?Les agents utilisateurs des bots ont-ils toujours "http" dedans?

+0

Voulez-vous vraiment travailler sur cette hypothèse? – skaffman

+0

Que voulez-vous faire? –

+0

@Pekka: Je voudrais filtrer les accès par les robots/araignées. – user173457

Répondre

2

Est-il sûr de supposer que les agents utilisateurs de tous les robots ont toujours des URL dans les chaînes de l'agent utilisateur?

Nope. Découvrez this bot list, il a beaucoup de robots qui ne portent pas une URL. Peut-être que si je pouvais reformuler ma question, y a-t-il une créature valide non-robot, non-robot, non-araignée ou non-sale qui a une URL dans l'agent utilisateur?

Je ne peux pas penser à un navigateur qui a une URL dans la chaîne d'agent, mais c'est certainement une hypothèse dangereuse à travailler avec. N'oubliez pas que, par exemple, les modules complémentaires Internet Explorer peuvent ajouter leurs signatures à la chaîne de l'agent utilisateur du navigateur. Vous ne pouvez pas garantir qu'il n'y aura pas d'URL.

+0

+1 pour mentionner les modules complémentaires modifiant la chaîne de l'agent utilisateur. –

2

Il n'y a pas d'hypothèses sur la chaîne de l'agent utilisateur. RFC 1945, section 10.15 User Agent spécifie le format et la section 3.7 Product Token spécifie comment les jetons de produits doivent être formatés. Comme vous pouvez le voir à partir de ces deux, la chaîne de l'agent utilisateur peut être à peu près tout ce que l'agent HTTP veut qu'il soit.

Remarque: strictement parlant, en utilisant une URL dans le jeton de produit peut être considéré comme une violation de cette RFC, puisque le / doit être traité comme un séparateur entre l'identifiant de produit et la version du produit.

+0

+1 pour les RFC dures. –

+0

+1 pour "Il n'y a pas d'hypothèse que vous pouvez faire à propos de la chaîne de l'agent utilisateur". – meagar