Mes impressions sur le web, les standards et autres…


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 :¬)