Ответ
Флаг Secure указывает браузеру, что куки должны передаваться только через защищённое HTTPS-соединение. Это защищает куки от перехвата при передаче по незащищённому HTTP.
Пример установки Secure-флага:
// Серверная установка (Node.js + Express)
res.cookie('session', 'token123', {
secure: true,
httpOnly: true
});
Важно:
- На локальном
http://localhostSecure-флаг игнорируется в некоторых браузерах. - Без HTTPS куки с
Secureне будут отправлены на сервер. - Часто комбинируется с
HttpOnlyдля защиты от XSS.
Ответ 18+ 🔞
А, слушай, про эту вашу безопасность, блядь! Вот есть у куков такой прикол — флаг Secure. Это типа как если бы ты свой паспорт не просто в карман сувал, а в сейф с кодовым замком запихивал, ёпта.
Короче, если этот флаг стоит, то браузер эту куку пошлёт на сервер только если соединение через HTTPS, то есть зашифрованное. А если ты валяешь дурака на каком-нибудь http://, то браузер её и не пошлёт, хоть ты тресни. Защита от всяких мудаков, которые в открытую сеть лезут перехватить твои сессии.
Вот как это выглядит в коде, если ты на сервере колдуешь (Node.js + Express):
// Серверная установка (Node.js + Express)
res.cookie('session', 'token123', {
secure: true, // <--- Вот он, красавец! Всё, теперь только по HTTPS.
httpOnly: true
});
Но есть нюансы, блядь, как же без них:
- На локалке, на
http://localhost, некоторые браузеры могут на этот флаг забить болт и куку отправить. Но это так, поблажка для разработки, не обольщайся. - Главное правило: без HTTPS — нихуя не работает. Если у тебя на продакшене сертификата нет, то эти куки просто сдохнут, их никто не увидит.
- Обычно этот
Secureидут в одной связке сHttpOnly(это чтобы JS на странице до куки не дотянулся). Вместе они как бронежилет и каска — максимальная защита от XSS и перехвата, блядь.
Вот и вся магия. Ставишь флажок, включаешь HTTPS и спишь спокойно, а не так, что любой школьник с Kali Linux тебя разденет.