Атрибут cookie Secure
Определение
Атрибут cookie Secure — пометка, с которой браузер отправляет cookie только по защищённому соединению, обычно по HTTPS. Чтение cookie из сценария страницы и её отправку в межсайтовом запросе Secure не ограничивает — за это отвечают другие атрибуты.
Также ищут: Cookie Secure attribute · Secure cookie · флаг Secure · cookie только по HTTPS
Зачем это знать
Без Secure браузер может раскрыть идентификатор сессии через навязанный запрос HTTP, даже если основной сайт обычно работает по HTTPS.
Карта понятия
Что подтверждено
Secure указывает браузеру отправлять cookie только по защищённому соединению.
Граница применимости: Ограничение канала передачи cookie.
Secure не запрещает JavaScript читать cookie и не мешает отправить её в допустимом межсайтовом запросе; чтение и межсайтовую отправку ограничивают другие атрибуты.
Граница применимости: Различие между Secure, HttpOnly и SameSite.
Что проверить
- Поставьте Secure.
- Используйте HTTPS для всей сессии.
- Добавьте HSTS отдельно.
Первоисточники
- Cookies: HTTP State Management Mechanism
Базовый стандарт Cookie и Set-Cookie: синтаксис, атрибуты Secure, HttpOnly, Path, Domain. SameSite в нём НЕТ — он появился в 6265bis, см. ietf-6265bis-cookies.
- Session Management Cheat Sheet
Описывает entropy, cookie transport, renewal после privilege change, timeouts, logout и server-side invalidation sessions.
Утверждения: 02
- Cookies: HTTP State Management Mechanism (6265bis)
Рабочий документ HTTP WG, определяющий атрибут SameSite (Strict, Lax, None) и требование Secure для None. Это не RFC: класс основания ниже стандарта намеренно.
Утверждения: 02
- HTTP Strict Transport Security
Определяет browser policy, принуждающую известный HSTS host использовать secure transport и прекращать соединение при TLS errors.