2012-05-27 3 views
5

$ .cookie не читает файлы cookie, которые были ранее заданы ответом сервера.

Я могу читать файлы cookie, которые были установлены с помощью $ .cookie().

Я вижу, что все файлы cookie домена, установленные с веб-разработчиком Firefox, добавляются.
Кроме того, серверная сторона может видеть файлы cookie запроса, поэтому браузер определенно имеет их.

Я экспериментировал с истечением срока безрезультатно.

+0

Что делать, если вы тщательно купили куки? Если они ведут себя по-другому - есть некоторая разница – zerkms

ответ

6

Проблема заключается в том, что на стороне сервера посылает печенье с HttpOnly установкой, как описано здесь: http://en.wikipedia.org/w/index.php?title=HTTP_cookie#HttpOnly_cookie

Печенья посланного этим путем не доступно через document.cookie. Обычно это используется, чтобы защитить значение cookie от возможных атак XSS на вашем сайте.

Редактировать: Вы не указали, какую технологию вы используете на стороне сервера, чтобы установить файлы cookie. В случае, если вы используете PHP, эта ссылка содержит список возможных путей флаг HttpOnly может быть установлен:

https://www.owasp.org/index.php/HttpOnly#Using_PHP_to_set_HttpOnly

1

UPDATE: Я был неправ в своем первоначальном ответе (смотри ниже) ... Страницы дальше вниз дерево путей может читать файлы cookie верхнего уровня, поэтому пути не обязательно должны совпадать. Оставляя свой первоначальный ответ, если кто-то другой совершит ту же ошибку. Моя проблема была вызвана тем, что я установил cookie из javascript, а затем попытался изменить сторону сервера cookie. Сервер, ориентированный на cookie с контуром «/», поэтому cookie с файлом «/ mypages» не был изменен.

$ .cookie может читать только печенье под текущим путем документа, так что если ваша страница> mysite.com/mypages/mypage.aspx, сервер будет установлен путем, как «/» при установке куки, > но $ .cookie будет пытаться читать по пути "/ mypages" и не читать cookie. Я просто бежал в эту проблему сам. Если у вас нет разных путей, как это, то это, скорее всего, не ваша проблема.

 Смежные вопросы

  • Нет связанных вопросов^_^