Aller au contenu

USer agent et grosse question


Stanislas Deverre

Sujets conseillés

Salut à tous voici mon problème,

J'ai demandé à un dév de me faire une version bridée de IE6. Concrètement il s'agit d'un exe qui une fois lancé est identique à IE 6 sauf que les fonctionnalités les plus courantes sont désactivées : plus de raccourcis claviers, plus de menus contextuels, ni de barre de taches ou d'adresse ou de menus ou de boutons. C'est en fait un IE ultra simplifié qui affiche du web et point barre.

Problème : je pense que l'on peut modifier aussi l'user agent de cet IE bridé afin que ce dernier soit reconnaissable et fonctionne avec certains sites web (les miens) et pas d'autres.

La question: quelqu'un sais-il comment faire ?

Attention je ne parle pas de la lecture du user agent par le code HTML ou par un antivirus, ou quoi. La modification des entete HTTP pour les envoyer à un serveur avec la methode POST ou GET est une chose facile ( User-Agent, Referer,...). Pour les User-Agent voici ceux envoyés par ma machine (IE et Mozilla)

Mon User-Agent envoyé par IE 6.0 :

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)

Mon User-Agent envoyé par Mozilla 1.4 :

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624

On voit bien qu'il est aisé de faire des scripts (PHP, ASP, ..) qui testent la valeur du User-Agent pour ne permettre l'accé qu'au Mozilla/5.0 par exemple. Notre soucis est le suivant :

L'acces a notre serveur doit etre reservé non seulement a un navigateur donné mais a un navigateur dont cette chaine à été modifié au préalable pour etre sur qu'aucun autre navigateur autre celui qu'on a modifié ne pourra accéder au serveur.

Donc la question qui se pose est peut-ont modifier cette valeur quelque part dans la navigateur IE ? si oui à quel niveau ? cette possibilité veut-elle dire que c'est possible dans un navigateur à base d'IE6 parametré et compilé )

A celui qui pourra m'aider ou m'orienter merci d'avance :))

Stan

Lien vers le commentaire
Partager sur d’autres sites

Pour ce qui est des programmes déjà écrits, il n'est pas possible de le modifier (enfin..en principe.)

Pour ce qui est de ton IE simplifié, ca doit etre possible, mais :

Il a été écrit avec quel langage, ton IE simplifié ?

Modifié par anonymus
Lien vers le commentaire
Partager sur d’autres sites

Voci deux réponses que j'avais faites à Stanislas en privé, personellement, je n'ai pas grand chose à ajouter et ai un peu de mal à comprendre quels renseignements te manquent.

Pour ta réponse, normalement, c'est trés simple. Quand le navigateur envoie une requête HTTP ("GET" ou "POST") à un serveur HTTP, il envoie avec un ensemble d'informations (appelés en tête de ta requête). Cet en-tête est généralement totalement transparent pour l'utilisateur (c'et une ligne vide qui sépare l'en-tête de la requête du contenu de la page).

Cet en-tête contient une foule d'information sur ce qui est suporté par le navigateur. Entre autre : le type du navigateur, le système d'exploitation de l'utilisateur, le type d'encodage supporté par le navigateur (afin que le serveur envoie les pages en format compressé)...

Il suffit donc de modifier le format de la ligne "User-agent" qui est envoyé au cours de la requête pour cacher, du même coup, le type du navigateur que tu utilise.

Pour en savoir plus sur les requêtes HTTP et comment sont formulées les requêtes, je t'invite à visiter le site : http://www.salemioche.com/, et plus particuliérement la rubrique HTTP.

entre autres : http://www.salemioche.com/http/http_art3.php

Ce n'est effectivement pas possible, de base, dans IE6, de modifier les en-têtes HTTP qui sont envoyées par IE. Par contre, il faut savoir que les requêtes sont envoyées vers le réseau, mais peuvent passer par d'autres programmes, comme par exemple un antivirus. Par exemple, Norton Antivirus, de base, bloque le contenu du champ "referer". Ceci permet de cacher la provenance de l'utilisateur s'il accéde à un site via un autre site. (Cette asurance est à mon avis un peu bêbête, et je la désactive systèmatiquement).

Donc, en conséquence, il est toujours possible pour quelqu'un qui bidouille, de modifier le user-agent de son navigateur. (Il ne faut donc pas que ce soit en vu de sécuriser une connexion que tu utilise cette possibilité de filtre). De même, il faut savoir qu'il est toujours possible de décompiler un programme compiler pour le modifier, à fortiori quand il s'agit simplement de modifier une simple chaine de caractéres.

La modification du paramétre user-agent est principalement utilisé par les logiciels suivants :

- Opéra, Mozilla, et autres navigateurs alternatifs, afin de d'être accepté par les sites qui font du filtrage par ce paramétre.

- Les aspirateurs de sites, qui ont généralement des paramétres de user-agent exotiques (par défaut) et qu'il est utile de modifier car la plupart de ces logiciels sont connus et bloqué par les sites les plus professionels. (ex: HTTracks)

- Tout logiciel développé par un développeur "pour s'amuser".

Merci Stanislas d'avoir posé la question sur le forum... Au moins cela à l'avantage d'ouvrir la question à d'autres membres...

Tizel

Lien vers le commentaire
Partager sur d’autres sites

En fait, je pense que la question se pose différemment. On est obligé de passer par les requetes POST et GET pour envoyer une requete, et les user_agent, meme pour IE et Mozilla sont envoyés par POST ou GET. Ne cherches pas une autre méthode pour envoyer un user_agent différent.

Par contre, il est vrai que ce n'est pas plus sécurisé que le reste. Pour que ce soit sécurisé, il faudrait que les utilisateurs ne sachent pas quel est cet user_agent, et que ton navigateur n'aille pas sur un autre site que ton intranet.

Voilà. J'ai répondu à ta question ??

A+, Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Par contre, il est vrai que ce n'est pas plus sécurisé que le reste. Pour que ce soit sécurisé, il faudrait que les utilisateurs ne sachent pas quel est cet user_agent, et que ton navigateur n'aille pas sur un autre site que ton intranet.

Effectivement, dès que quelqu'un connaîtra le UA que tu auras défini, il lui sera facile d'écrire un programme qui se connecte en s'idendifiant avec cet agent.

Ne serait-ce pas plus simple de travailler la sécurité au niveau du firewall, ou au niveau des comptes utilisateurs Windows si tu es sur IIS ?

Lien vers le commentaire
Partager sur d’autres sites

C'est egalement très facile à faire avec une base de données et les sessions de php. De plus, c'est suffisamment sécurisé. Par contre, l'utilisation des cookies est moins recommandé.

Lien vers le commentaire
Partager sur d’autres sites

Ma connaissance d'administration système & réseaux est limité, mais LDAP (Lightweight Directory Access Protocol) n'est il pas fait justement pour ce type d'applications (annuaire d'utilisateurs) ?

Ca éviterait tout le côté dev, et serait à priori beaucoup plus sécurisé !

Lien vers le commentaire
Partager sur d’autres sites

Salut a tous. Merci pour toutes ces interventions.

Mon besoin est trés imple : tout ce qu'il me faut c'est une petite signature pour le navigateur (qui est une version bridée d'un navigateur IE 6 standard et que nous n'utilisons qu'en local) , et on pense évidemment au USER AGENT comme entête HTTP puisque c'est la signature traditionnelle d'un navigateur. Mais si quelqu'un a un autre moyen de faire signer un navigateur je suis toute ouie :))

A bientôt

Stan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...