Я знаю, что файл cookie с secure
флагом не будет отправлен через незашифрованное соединение. Интересно, как это работает?
Кто отвечает за определение того, будет ли отправлен файл cookie или нет?
Ответы:
Клиент устанавливает это только для зашифрованных соединений, и это определено в RFC 6265 :
Атрибут Secure ограничивает область cookie «безопасными» каналами (где «безопасный» определяется пользовательским агентом). Когда cookie имеет атрибут Secure, пользовательский агент будет включать cookie в HTTP-запрос, только если запрос передается по безопасному каналу (обычно HTTP через Transport Layer Security (TLS) [RFC2818]).
Атрибут Secure, который кажется полезным для защиты файлов cookie от активных сетевых злоумышленников, защищает только конфиденциальность файлов cookie. Активный сетевой злоумышленник может перезаписать защищенные файлы cookie из незащищенного канала, нарушив их целостность (подробнее см. В Разделе 8.6).
Еще одно слово по теме:
Недостаточно пропустить, secure
потому что ваш сайт example.com
полностью https.
Если ваш пользователь явно достигает http://example.com
, он будет перенаправлен, https://example.com
но уже слишком поздно; первый запрос содержал cookie.
secure
?