PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Что такое HttpOnly cookie?

DOM и браузер

`HttpOnly` cookie — это cookie с флагом `HttpOnly`, недоступная из JavaScript. Она защищает данные (например, токены сессии) от кражи через XSS-атаки.

Что делает флаг

Cookie с HttpOnly нельзя прочитать или изменить через document.cookie — она доступна только серверу (отправляется в HTTP-запросах автоматически).

Set-Cookie: sessionId=abc; HttpOnly; Secure; SameSite=Lax
document.cookie; // HttpOnly-cookie здесь НЕ видна

Зачем нужна

Главная угроза для токенов в браузере — XSS: если злоумышленник внедрит скрипт, он прочитает localStorage и обычные cookie. HttpOnly не даёт JS-коду добраться до cookie, поэтому украсть токен через XSS сложнее.

Сопутствующие флаги

  • Secure — только по HTTPS.
  • SameSite (Strict/Lax/None) — защита от CSRF.

Вместе HttpOnly + Secure + SameSite дают надёжное хранение сессионного токена.

Ограничение

HttpOnly защищает от кражи через XSS, но не от CSRF — для этого нужен SameSite и/или CSRF-токены.

Коротко для собеседования

HttpOnly cookie недоступна из JavaScript (document.cookie её не видит) — защищает токены сессии от кражи через XSS. Используется с Secure (HTTPS) и SameSite (против CSRF). От CSRF сам по себе HttpOnly не защищает.

Другие вопросы раздела