web-dev-qa-db-fra.com

Paramétrer les cookies uniquement sur le domaine nu

Autant que je sache, on peut définir un cookie pour example.com et non pas .example.com et le cookie ne sera visible que sur example.com et non pas sub.example.com. Est-ce vrai? J'ai installé un cookie sur un domaine de test que je possède et il semble que les cookies ne sont pas partagés sur static.mydomain.com.

Cette page suggère le contraire:

Omettre www ne vous laisse pas d'autre choix que d'écrire des cookies sur * .example.org. Pour des raisons de performances, il est donc préférable d'utiliser le sous-domaine www et d'écrire les cookies dans ce sous-domaine.

2
ustun

Le spécification de cookie indique que vous avez raison :

A est une chaîne de nom de domaine complet et a la forme NB, où N est une chaîne de nom non vide, B a la forme .B 'et B' est une chaîne de nom de domaine complet. (Ainsi, le domaine x.y.com correspond à celui de y. Mais pas de y.com.)

Même si vous utilisez www.example.com pour votre site, vous souhaiterez probablement définir des cookies sur *.example.com afin qu'ils puissent également être lus sur un sous-domaine tel que blog.example.com.

1

En réponse à la page Yahoo Developer, ils parlent de vous servir du contenu sur votre site à partir de www.example.com, mais explicitement définissant le domaine de la cookie - dans ce cas, vous devez définir le cookie comme suit: .example.com ou .www.example.com.

Lorsque vous définissez un cookie, vous avez deux options:

  1. Ne spécifiez pas le nom de domaine - dans ce cas, le cookie utilisera par défaut le "Requête-Hôte" (sans point au début) - dans votre cas, www.example.com ou example.com (notez le point incorporé).
  2. Spécifiez une URL, auquel cas vous tombez sous la règle "Un domaine explicitement spécifié doit toujours commencer par un point."

Ce que dit la page Yahoo, c'est que si vous avez déjà envoyé des cookies à .example.com, ces cookies seront également envoyés à subdomain.example.com également, donc si vous souhaitez diffuser votre contenu statique sur une table "sans cookie". domaine ", vous devez utiliser une URL différente.

1
Zhaph - Ben Duguid