2010-11-17 14 views
2

J'ai un problème étrange. Je veux vérifier si le cookie .ASPXAUTH existe avec javascript. Je le fais comme ceci:Comment vérifier si .ASPXAUTH cookie existe avec javascript

authx = document.cookie.indexOf(".ASPXAUTH" + "="); 

et la valeur 'authx' est toujours -1. Mais si je bac pour trouver un autre cookie comme:

foo = document.cookie.indexOf("bar" + "="); 

cela fonctionne. Y at-il une restriction entre javascript et cookie .ASPXAUTH ???

+0

Eh bien, la première question serait: avez-vous vérifié que le cookie est là? Avez-vous vérifié avec firecookie ou quelque chose, pour s'assurer que le cookie est là? – sirrocco

+0

Oui, j'ai vérifié. Cookie est 100% là. – dani

Répondre

2

Je l'ai résolu. Le problème était, que j'avais mis le

HttpOnly = true; 

qui empêche le javascript d'accéder au cookie. Je l'ai juste mis à faux et ça marche.

+12

Et bien sûr, il est destiné à être HTTP uniquement afin d'éviter le risque d'une faille XSS saisissant votre cookie et permettant à votre session d'être piraté. Vous avez maintenant ouvert une vulnérabilité dans votre application. –

+0

Où avez-vous défini cela? JS? –

+0

@ d.popov Evidemment non !, Vous pouvez définir cela dans votre web.config ou (dans asp.net mvc) comme un attribut pour chaque méthode d'action –