[RESOLU] HTTP_USER_AGENT qui change en cours de session...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] HTTP_USER_AGENT qui change en cours de session...

Re: HTTP_USER_AGENT qui change en cours de session...

par fab'blab » 17 oct. 2014, 09:17

Merci du lien. Super 8-)

Mon utilisateur m'a depuis répondu en me disant que son fournisseur est AOL ce qui lui pose beaucoup d'autres problèmes sur d'autres sites...
Ceci dit, il ne doit pas être le seul (AOL ou pas) donc je pense que je vais suivre le conseil d'un des commentaires de ton lien :
The user agent string shouldn't be relied on for anything important. It's a value that can change often and be altered by other systems such as proxies.
Your session key should only be generated once and shared via cookie. So a change in a single user's user agent should have no affect anyway.
Cette histoire de contrôler l'IP et le User Agent est tout de même assez souvent conseillée...
Bref si je veux vraiment sécuriser mon application je passe en "https" 8-)

Re: HTTP_USER_AGENT qui change en cours de session...

par xTG » 16 oct. 2014, 19:35

Une excellente réponse sur Stackoverflow :
http://stackoverflow.com/questions/1262 ... -form-post
:)

HTTP_USER_AGENT qui change en cours de session...

par fab'blab » 16 oct. 2014, 17:34

Bonjour,

Mon problème n'est sans doute pas directement lié à php mais je souhaite surtout obtenir vos retours d'expérience face à un cas un peu étonnant.

Je sais que cela ne vaut pas grand chose en terme de sécurité mais pour tester un peu les sessions de connexion, j'utilise entre autres le User Agent fournit par le navigateur de l'utilisateur.
Si cette valeur évolue en cours de session j'oblige l'utilisateur à se reconnecter.
J'obtiens cette valeur via la variable :

Code : Tout sélectionner

$_SERVER["HTTP_USER_AGENT"]
Hors j'ai un utilisateur qui reste bloqué.
En l'ayant pisté, je me suis rendu compte que son User Agent évolue entre le moment où il valide le formulaire de connexion et la page qui suit immédiatement.
La valeur passe de : Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
A : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; AskTbORJ/5.15.23.36191; .NET4.0C; .NET4.0E)

C'est comme-ci son navigateur changeait en cours de route !

Histoire d'être plus tolérant mon script teste maintenant l'adresse IP en plus du User Agent
Il faut que les 2 aient changés pour que l'utilisateur voit sa session fermer.

C'est manifestement le cas de mon utilisateur malheureux (et moi aussi du coup :( )

Pas facile de lui expliquer par email et il n'a manifestement pas souhaité m'appeler... sans quoi j'aurais pu lui poser des questions sur sa configuration.

A votre avis, cela peut venir de quoi ?
Une extension spéciale du navigateur ?

Je peux très bien supprimer mes contrôles de session pour sauver mon utilisateur.
Il ne s'agit pas du site d'une banque :-) mais ça serait un peu dommage de ne pas comprendre le bug.

Fab