Являются ли мои файлы cookie только HTTP? Флаг отсутствует в заголовке запроса Cookie

Я сделал некоторые настройки, чтобы (наконец) мои файлы cookie были установлены только на HTTP.

"Кажется" работает.

Я попробовал их с помощью postman и получил следующее:

Когда я попадаю на страницу входа:

В разделе файлов cookie мой файл cookie с именем JSESSIONID отображается только как HTTP (у него есть галочка)

Когда я захожу в зону логирования, тот же результат...

Заголовки не дают мне более подробной информации.

Потом,

Проверяю через гугл хром. Я открываю панель инструментов разработчика.

Я загружаю страницу входа.

В заголовках заголовков ответов я получаю

Set-Cookie: JSESSIONID=434434..... HttpOnly

Так что все нормально (наверное).

Затем я перезагружаю страницу (или вхожу в систему).

Тогда проблема:

Заголовки ответа не получены.

Заголовки запроса приносят мой файл cookie (с тем же идентификатором, что и предыдущий) без httponly, информации о хосте или любого другого значения файла cookie, которое я установил ранее.

На вкладке cookie я получаю только файлы cookie запроса и не получаю файл cookie ответа.

И файл cookie запроса не только для http

введите здесь описание изображения

На вкладке моих ресурсов есть файл cookie, только HTTP и с предыдущими значениями, которые я установил.

Теперь у меня вопрос... Действительно ли это файл cookie только для http? Или у меня неправильная конфигурация?

Должен ли я всегда получать файл cookie ответа или файл cookie запроса всегда должен быть только для http (в случае, если я пытаюсь установить его только для http) или это нормальное поведение (или, по крайней мере, приемлемо)?

Когда я пытаюсь распечатать свой файл cookie с помощью Javascript в обоих сценариях, я получаю в ответ нуль (что заставляет меня думать, что это правильно).

Идеи?


person jpganz18    schedule 22.02.2016    source источник


Ответы (1)


Клиент не отправляет атрибуты cookie, кроме имени и значения, обратно на сервер.

См. также RFC6265, раздел 4.2.2 (выделено мной).

4.2.2. Семантика

Каждая пара файлов cookie представляет собой файл cookie, хранящийся в пользовательском агенте. Пара cookie-файлов содержит имя cookie-файла и значение cookie-файла, полученные пользовательским агентом в заголовке Set-Cookie.

Обратите внимание, что атрибуты файлов cookie не возвращаются. В частности, сервер не может определить только по заголовку Cookie, когда истечет срок действия файла cookie, для каких хостов файл cookie действителен, для каких путей файл cookie действителен или был ли установлен файл cookie с атрибутами Secure или HttpOnly.

Все ведет себя как указано.

person BalusC    schedule 23.02.2016
comment
Итак, означает ли это, что cookie является http-только таким? - person jpganz18; 26.02.2016
comment
Если сервер установил HttpOnly, да. - person BalusC; 26.02.2016
comment
Если заголовки второго ответа содержат тот же файл cookie, но без HttpOnly, то вы сами установили все на стороне сервера. - person BalusC; 26.02.2016
comment
да, он содержит тот же файл cookie, но без HttpOnly... но когда вы говорите, что сами установили все на стороне сервера... означает, что файл cookie установлен как HttpOnly правильно? - person jpganz18; 26.02.2016
comment
Те, что в ответ, устанавливаются самостоятельно. Те, что в запросе (как на вашем скриншоте), отправляются клиентом. Я думаю, вы путаете запрос с ответом. - person BalusC; 26.02.2016
comment
ммм имеет смысл, так что эти файлы cookie отправляются для проверки в моем приложении, верно? - person jpganz18; 26.02.2016
comment
Возможно, это полезно для получения фундаментального понимания файлов cookie и сеансов: stackoverflow.com/q/3106452 - person BalusC; 26.02.2016