Voilà le topo. Le client se connecte au serveur. S'il n'envoit pas de cookie de session, le serveur répond par un
Set-Cookie: PHPSESSID=blabla...; path=/ bon. Une fois le cookie acquis, le client va alors envoyer à chaque fois qu'il demande une page son cookie de session via un
Cookie: PHPSESSID=blabla... Le problème, le voici. Supposons que j'ai mon site à l'adresse
A.domain.com et considérons un autre site
B.domain.com. Si un client va sur mon site
A.domain.com et ouvre une session, le browser va stocker le cookie comme appartenant au
domain
A.domain.com. No problem. Mais. Si j'envoie le cookie comme ceci :
Set-Cookie: PHPSESSID=abc; expires=Mon, 02-Aug-10 14:02:31 GMT; path=/; domain=domain.com le cookie PHPSESSID est stocké dans le browser comme appartenant au domaine
.domain.com.
S'il n'y a pas de cookie PHPSESSID défini pour
B.domain.com, le browser récupère le cookie de mon site, et se connecte avec LE MEME identifiant de session au site
B.domain.com ...
Celà veut dire que le client qui est passé par le site A s'autentifiera avec le même numéro de session à chaque fois (expires fait que ce cookie n'est pas détruit), numéro que je connais ...
Ma question donc... êtes vous au courant de ce problème ? Quelles stratégies pour y remédier ?
Il est possible que ce post soit hors-sujet... comme il traite de sécurité peut-être d'un peu trop près... il est possible que de nombreux sites soient vulnérables, ma motivation n'est pas de propager une vulnérabilité mais d'essayer de trouver une solution ...