2010-11-17 8 views
2

У меня странная проблема. Я хочу проверить, существует ли файл cookie .ASPXAUTH с javascript. Я делаю это вот так:Как проверить, существует ли файл cookie .ASPXAUTH с javascript

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

и значение 'authx' всегда равно -1. Но если я подношу, чтобы найти некоторые другие файлы cookie, такие как:

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

это работает. Есть ли какое-то ограничение между javascript и .ASPXAUTH cookie ???

+0

ну, первый вопрос будет: вы проверили, что файл cookie существует? вы проверили с firecookie или что-то еще, чтобы убедиться, что печенье есть? – sirrocco

+0

Да, я проверил. Cookie на 100%. – dani

ответ

2

Я решил. Проблема заключалась в том, что я установил

HttpOnly = true; 

, который предотвращает доступ к файлу cookie для javascript. Я просто установил его в false, и он работает.

+12

И, конечно же, это должен быть HTTP только для того, чтобы избежать риска недостатка XSS, захватывающего ваш файл cookie и позволяющего захватить ваш сеанс. Теперь вы открыли уязвимость в своем приложении. –

+0

Где вы это установили? JS? –

+0

@ d.popov Очевидно, что нет !, вы можете установить это в свой web.config или (в asp.net mvc) как атрибут для каждого метода действий –