Что бы хранил в Cookies

«Что бы хранил в Cookies» — вопрос из категории Безопасность, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Cookies удобны для хранения небольших данных, которые должны сохраняться между сессиями. Обычно там хранят:

  1. Токены аутентификации (например, JWT)
    document.cookie = `token=${jwtToken}; path=/; max-age=3600`;
  1. Настройки пользователя (тема, язык, региональные предпочтения)
    document.cookie = `theme=dark; path=/`;
  1. Идентификаторы сессий (session_id для бэкенда)

  2. Корзину покупок (если не используется серверное хранилище)

Что НЕ стоит хранить:

  • Пароли или чувствительные данные (уязвимость XSS)
  • Большие объемы данных (ограничение ~4KB на домен)
  • Критичные данные (куки можно удалить/подделать)

Для безопасности используйте флаги:

  • Secure (только HTTPS)
  • HttpOnly (защита от XSS)
  • SameSite (CSRF-защита)

Альтернативы для сложных данных: localStorage или IndexedDB.