Веб и безопасность приложений

Cookie сессии

Определение

Cookie сессии — cookie, с помощью которой браузер автоматически передаёт приложению идентификатор сессии.

Также ищут: Session cookie · session ID cookie · authentication cookie

Зачем это знать

Автоматическая отправка удобна, но требует защиты от кражи, CSRF, слишком широкой области действия и устаревшей серверной сессии.

Доказательная часть

Что подтверждено

  1. Cookie часто служит переносчиком идентификатора сессии; сам идентификатор обычно лишь ссылается на состояние, хранимое на сервере.

    Граница применимости: Передача идентификатора сессии через cookie.

  2. Secure, HttpOnly и SameSite ограничивают разные риски и не заменяют друг друга: передачу по сети, чтение сценарием и межсайтовую отправку.

    Граница применимости: Уровни защиты cookie сессии.

  3. Без атрибута Domain cookie привязана к узлу, который её установил. Допустимый Domain расширяет область отправки на соответствующий домен и его подходящие поддомены; поэтому область выбирают по потребности приложения.

    Граница применимости: Алгоритмы области cookie в RFC 6265; остальные условия отправки, включая путь и защищённый канал, проверяются отдельно.

  4. Path участвует в выборе запросов, к которым браузер прикладывает cookie. RFC 6265 прямо не считает Path надёжной границей безопасности между приложениями на одном узле.

    Граница применимости: Разделение подбора cookie по пути и изоляции приложений.

  5. Срок хранения cookie управляет её копией в браузере. Серверный сеанс может оставаться действующим для уже скопированного идентификатора, пока приложение отдельно не завершит его или не применит серверный срок.

    Граница применимости: Непрозрачный идентификатор с серверным состоянием; не описывает все модели самостоятельных токенов.

Граница терминов

Не путать

Cookie сессии Атрибут cookie SameSite

Domain и Path задают область отправки cookie, SameSite добавляет условие межсайтового контекста. Это разные ограничения одной отправки.

Cookie сессии Отзыв сессии

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

Перед спецификацией

Что проверить

  1. Определите, где хранится состояние сеанса.
  2. Сузьте область cookie до необходимых узлов.
  3. Не используйте Path как изоляцию соседних приложений.
  4. Выберите Secure, HttpOnly и SameSite по их отдельным задачам.
  5. Согласуйте срок cookie и серверные сроки сеанса.
  6. На выходе проверьте и серверный отзыв, и удаление нужной cookie.
  7. Проверьте повторный запрос со старым идентификатором после отзыва.
Открытые основания

Первоисточники

  • Стандарт1
  • Документация2
  • Официальная документация
    Session Management Cheat Sheet OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026 · проверено

    Описывает entropy, cookie transport, renewal после privilege change, timeouts, logout и server-side invalidation sessions.

    Утверждения: 01 · 02 · 05

  • Первичная спецификация
    Cookies: HTTP State Management Mechanism Internet Engineering Task Force · RFC 6265, April 2011 · проверено

    Базовый стандарт Cookie и Set-Cookie: синтаксис, атрибуты Secure, HttpOnly, Path, Domain. SameSite в нём НЕТ — он появился в 6265bis, см. ietf-6265bis-cookies.

    Утверждения: 02 · 03 · 04 · 05

  • Официальная документация
    Cookies: HTTP State Management Mechanism (6265bis) Internet Engineering Task Force · Internet-Draft draft-ietf-httpbis-rfc6265bis-22 · проверено

    Рабочий документ HTTP WG, определяющий атрибут SameSite (Strict, Lax, None) и требование Secure для None. Это не RFC: класс основания ниже стандарта намеренно.

    Утверждения: 02

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие