Как работает файл cookie "Безопасный"?

Я знаю, что cookie с флагом secure не будет отправлен через незашифрованное соединение. Интересно, как это работает в глубину.

Кто несет ответственность за определение отправки cookie или нет?

Ответ 1

Клиент устанавливает это только для зашифрованных соединений, и это определено в RFC 6265:

Атрибут Secure ограничивает область действия cookie "защищенными" каналами (где "защищенный" определяется пользовательским агентом). Когда cookie имеет атрибут Secure, пользовательский агент будет включать файл cookie в HTTP-запрос только в том случае, если запрос передается по защищенному каналу (обычно HTTP через Transport Layer Security (TLS) [RFC2818]).

Несмотря на кажущуюся полезность защиты файлов cookie от активных сетевых злоумышленников, атрибут Secure защищает только конфиденциальность файлов cookie. Активный сетевой злоумышленник может перезаписывать защищенные файлы cookie с небезопасного канала, нарушая их целостность (подробнее см. Раздел 8.6).

Ответ 2

Еще одно слово по теме:

Опускание secure, потому что ваш сайт example.com полностью https не достаточно.

Если ваш пользователь явно достигает http://example.com, он будет перенаправлен на https://example.com, но уже слишком поздно первый запрос содержит файл cookie.