Что такое хост только 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 для рекламных кампаний, так как он может содержать конфиденциальную информацию.


флаг host-only-cookie имеет значение true, а канонизированный хост-запрос идентичен домену cookie.

http://tools.ietf.org/html/rfc6265#section-5.4