76 votes

Chrome cookie localhost non défini

J'ai un ASP.net application qui utilise un cookie pour stocker l'utilisateur de la langue sélectionnée. Tout fonctionne bien sauf quand je suis sur localhost. En remplaçant localhost par 127.0.0.1 fait que cela fonctionne de nouveau... pourquoi?

J'ai vu l'intention des restrictions à file://, mais je ne peux pas vraiment trouver aucune référence à l'intention de restriction à localhost.

Ce que je ne peux pas vraiment comprendre, c'est pourquoi l'ASP.net Session (ASP.NET_SessionId) et ASP.net Cookies d'Authentification de Formulaires (.FSAUTHSSO) sont correctement définies pour le domaine localhost mais mes cookies ne sont pas... pourquoi?!

J'ai déjà googlé beaucoup et rien ne fonctionne:

  • Réglage du Chrome option de ligne de commande --enable-fichiers-témoins [NE PAS TRAVAIL]
  • Réglage du témoin de HttpOnly [N'a PAS d'importance]
  • Changer d'Expiration de Session ou à une Date... [N'a PAS d'importance]
  • Changer le Chemin du Cookie à la Racine (/) ou à quoi que ce soit d'autre [N'a PAS d'importance]

Donc, quelle est la matière? :)

Et pourquoi le ASP.net les cookies d'être ensemble et la mienne ne l'est pas? Quelle est la différence?

Dernière chose, pour ne mentionner que cela arrive aussi sur IE mais fonctionne très bien sur FF.

Merci!

Alex

48voto

krslynx Points 589

Les Cookies sont conçus pour le deuxième niveau et en bas. Première domaines de premier niveau ne fonctionnera pas. Au lieu de cela, vous devez utiliser l'adresse http://127.0.0.1 (comme vous l'avez mentionné), ou vous pourriez modifier votre fichier hosts pour carte une URL différente avec un TLD à l'adresse 127.0.0.1 tels que:

yoursite.tld   127.0.0.1

Juste fait des recherches de plus; trouvé cette réponse: les Cookies sur localhost avec de domaine explicite

23voto

Ehab Points 71

s'il vous plaît essayez de mettre cookie.Domain = null sur localhost et utilisez le nom de domaine autrement.

7voto

Clever Human Points 3174

Je viens d'avoir le même problème dans Chrome. J'ai eu cookie.Secure = true. Se débarrasser de cela pour localhost a résolu le problème pour moi.

(Avait exactement le même problème, FWIW: fonctionnait en FF, pas avec IE ou Chrome)

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