Что такое хост только cookie?
Я хотел бы знать, что такое host only
cookie.
при получении form auth
, браузер получает в заголовках файл cookie JSESSIONID, показанный как host only
.
3 ответов
прежде всего, это невозможно для foo.com
установить файл cookie, который может быть прочитан bar.com
. Host-only
только защищает example.com
cookies от чтения bar.example.com
.
С RFC 6265 относительно установки cookie и его :
If the domain-attribute is non-empty: If the canonicalized request-host does not domain-match the domain-attribute: Ignore the cookie entirely and abort these steps. Otherwise: Set the cookie's host-only-flag to false. Set the cookie's domain to the domain-attribute. Otherwise: Set the cookie's host-only-flag to true. Set the cookie's domain to the canonicalized request-host.
что это значит
вышесказанное можно суммировать с помощью "только для хоста по умолчанию". То есть, если Domain
Не указано, cookie может быть прочитан только точный домен, который установил cookie. Это можно ослабить, установив Domain
атрибут при установке cookie.
например, если файл cookie используется www.example.com
и Domain
атрибут не указан, cookie будет установлен с доменом www.example.com
и cookie будет хостом только cookie.
другой пример: если файл cookie используется www.example.com
и указан как example.com
(таким образом, cookie будет отправлен в foo.example.com
too), печенье будет установлен с доменом example.com
(или .example.com
некоторыми браузерами, которые используют точку из предыдущего RFC 2109 для обозначения не только) и печенье будет не быть хостом только cookie.
отправка файлов cookie рассматривается в разделе 5.4 относительно того, когда заголовок cookie отправляется браузером:
The cookie's host-only-flag is true and the canonicalized request-host is identical to the cookie's domain. Or: The cookie's host-only-flag is false and the canonicalized request-host domain-matches the cookie's domain.
Итак, cookie с доменом foo.example.com
и host-only
как false отправляется в example.com
. Если host-only
истинно, то foo.example.com
отправлено foo.example.com
только.
Host Only cookie означает, что cookie должен обрабатываться браузером на сервере только на тот же хост / сервер, который сначала отправил его в браузер.
вы не хотите отправлять этому хосту только cookie для рекламных кампаний, так как он может содержать конфиденциальную информацию.