Cookie субдомена отправляется в заголовке Cookie запроса, но не существующий в document.cookie JavaScript IE

У меня есть странная проблема с cookie, которые отправляются и получаются правильно, но недоступны JavaScript на Internet Explorer. Chrome, Firefox, Opera и Safari JavaScript прекрасны.

  1. Отправьте на "http://wp.abc.example.com/content/sv2.cgi?id=1234", ответ устанавливает cookie, выпускает 302 перенаправления:

    HTTP/1.0 302 Moved Temporarily
    Location: http://members.abc.example.com/abc/members/0912/07/news01.html
    Set-Cookie: AID=1495763b4fc6d5f4290e2074ab1092f7; expires=Tue Feb 16 09:33:03 2010 GMT; path=/abc/members/0912/07/news01.html; domain=abc.example.com; ;
    Set-Cookie: LEADENDDATE=20091218; expires=Tue Feb 16 09:33:03 2010 GMT; path=/abc/members/0912/07/news01.html; domain=abc.example.com; ;
    
  2. Браузер запрашивает целевую страницу, включая cookie, просто отправленные.

    GET /abc/members/0912/07/news01.html HTTP/1.1
    Cookie: AID=1495763b4fc6d5f4290e2074ab1092f7; LEADENDDATE=20091218;
    Host: members.abc.example.com
    
  3. Выполненный "javascript:alert (document.cookie)"; на адресной строке браузера.

  4. На IE и IE только, cookie не там. Другие браузеры прекрасны. Это верно для IE6, 7, и 8.

Так, таким образом,

"wp.abc.example.com" устанавливает cookie на "abc.example.com", который отправляется на сервер в запросах на "members.abc.example.com", но не видимый к JavaScript на той странице.

Почему?

Я думал, возможно, вместо "abc.example.com", который cookie должен быть установлен на ".abc.example.com" позволить соответствию субдомена, но несмотря на это это отправляется в заголовке запроса "members.abc.example.com".

В основном это действует, как будто "HttpOnly" установлен на cookie, даже при том, что от примера заголовка Cookie Набора, показанного выше, тот флаг не включен. Делает дополнительное""; возможно, имейте некоторый эффект?

5
задан ryandenki 21 December 2009 в 07:08
поделиться

1 ответ

Некоторое время назад Эрик Лоу написал хорошую статью о различных причудах работы с печеньем в IE . Один из вопросов, на который он ответил, выглядит так, как будто он может применяться к вашему сценарию:

Q8: Существуют ли какие-либо ограничения для свойства HTML DOM document.cookie?

A: [...]

Также, из-за непонятной ошибки в базовой реализации WinINET InternetGetCookie, IE document.cookie не вернет cookie, если он был задан с атрибутом пути, содержащим имя файла.
. [...]

Обратите внимание, что ваши пути do включают имена файлов:

Set-Cookie: AID=1495763b4fc6d5f4290e2074ab1092f7; expires=Tue Feb 16 09:33:03 2010 GMT; path=/abc/member/0912/07/news01.html; domain=abc.example.com;
;
. Сет-Куки: LEADENDDATE=20091218; expires=Tue Feb 16 09:33:03 2010 GMT; path=/abc/member/0912/07/news01.html; domain=abc.example.com; ;

I suggest you try you setting the cookies with filename--free paths, and see if that doesn't help...

7
ответ дан 14 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: