Un cookie pas si récalcitrant
Errata concernant mon précédent billet sur le sujet.
D’abord, en envoyant un cookie avec pour domaine de validité .example.com, celui-ci sera
viable également sur example.com. L’extension View Cookies
de Firefox m’a induit en erreur.
Il semble que seuls les cookies dont le domaine de validité matche exactement le
domaine courant soient affichés par cette extension, les cookies avec un domaine de validité de type
.example.com valides sur plusieurs sous-domaines ne sont pas du tout affichés.
Un coup d’œil à liveHttpHeaders ou avec print_r($_COOKIE);
montre qu’ils sont bien actifs.
Ensuite, concernant le nombre minimum de caractères point dans le domaine de validité, celui-ci doit contenir au moins un point "embarqué" (x.y est bon, .y ou x. ne l’est pas) et la partie précédent le domaine de validité du cookie dans le nom d’hôte courant ne doit pas contenir de point. Example : le cookie avec le domaine de validité .foo.com sera valide sur foo.com et n’importe quel sous-domaine *.foo.com où * est une chaîne ne contenant pas de caractère point. Donc le cookie n’est pas valable sur *.bar.foo.com.
Au vu de ces règles (extraites de la RFC 2965), je ne vois plus ce qui empêche en principe d’émettre un cookie avec un domaine de validité tel que .co.uk et qui serait valable par exemple sur blah.co.uk. Ce billet est donc sujet à une mise à jour ultérieure, quand j’aurais éclairci ce point :¬)