8 votes

Cookie sur un domaine intranet

J'ai un serveur de développement dans notre bureau qui est derrière le pare-feu. Le nom d'hôte est Franklin. Nous nommons tous nos serveurs d'après des scientifiques ou des inventeurs.

Quand je mets un cookie HTTP :

 Set-Cookie: user=kenny; expires=1245424860.11; Path=/; domain=franklin

Le cookie ne s'installe pas. J'ai essayé ce qui suit, sans succès.

.franklin
.franklin.local
franklin.local
.franklin.localdomain
franklin.localdomain

Dois-je définir le nom d'hôte sur quelque chose de différent ou puis-je définir ce cookie par une magie que je ne connais pas encore ?

7voto

molf Points 34978

RFC 2109 dit :

Pour éviter d'éventuelles violations de la sécurité ou de la vie privée, un agent utilisateur rejette un cookie (ne stockera pas ses informations) si l'une des suivantes est vraie :

  • La valeur de l'attribut Domain ne contient pas de points incorporés ou de ne commence pas par un point.
  • La valeur de l'hôte de la demande ne correspond pas au domaine. de l'attribut Domain.

Et aussi :

Domaine Par défaut, il s'agit de l'hôte de la demande.

Si votre hôte est franklin :

  • Cookies avec domain=.franklin sera rejeté, car il n'a pas de point incorporé.
  • Cookies avec domain=.franklin.local sera rejeté, car il ne correspond pas au nom d'hôte réel de votre serveur.

La solution consiste à renommer votre nom d'hôte en franklin.local o franklin.<tld> et définir le domain de l'attribut du cookie en conséquence ( domain=.franklin.<tld> ). Alternativement (comme vous l'avez découvert), ne spécifiez pas l'option domain et laisser l'agent utilisateur se rabattre sur l'hôte de la demande.

0voto

dr. evil Points 12196

Configurez-vous le cookie à partir du bon domaine ? Vous devriez accéder au site Web par http://franklin/ sinon cela ne fonctionnerait pas (voir : politique de la même origine).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X