Что делают флаги HttpOnly, Secure и SameSite у cookie?
Аутентификация и сессии
Флаги cookie ограничивают, где и как браузер может её использовать, и защищают сессию от кражи.
Что значит каждый
- HttpOnly — cookie недоступна из JavaScript (
document.cookie). Если на сайте найдут XSS, сессию так просто не украсть. - Secure — cookie отправляется только по HTTPS.
- SameSite — управляет отправкой cookie при межсайтовых запросах:
Strict— только на запросы со своего сайта.Lax— ещё и при переходе по ссылке верхнего уровня (значение по умолчанию в современных браузерах).None— всегда, но требуетSecure; нужно для сторонних встраиваний.- Также полезны
Path,DomainиMax-Ageдля области и срока жизни.
Set-Cookie: sid=abc123; HttpOnly; Secure; SameSite=Lax; Path=/; Max-Age=3600Коротко для собеседования
Сессионной cookie ставят HttpOnly, Secure и SameSite=Lax или Strict. Первый флаг защищает от XSS, третий от CSRF, второй от перехвата по HTTP.