> Можно ли читать cookies из клиентского JavaScript (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: IT-One

Стек: JavaScript

> Пример ответа

Да, можно. В JavaScript на стороне клиента доступны cookies через объект document.cookie. Однако есть важные ограничения:

  • Доступны только те cookies, у которых не установлен флаг HttpOnly. Если cookie помечена как HttpOnly (обычно для сессионных токенов), JavaScript её не увидит.
  • Можно читать все cookies текущего домена (и поддоменов, если установлен атрибут domain), но не cookies других доменов.
  • Чтение происходит через document.cookie, который возвращает строку вида "key1=value1; key2=value2". Для удобства её нужно парсить.

Пример чтения:

JAVASCRIPT
function getCookie(name) {
const cookies = document.cookie.split('; ');
for (let cookie of cookies) {
const [key, value] = cookie.split('=');
if (key === name) return decodeURIComponent(value);
}
return null;
}

Также стоит помнить про атрибут Secure - cookie с ним передаётся только по HTTPS, но JavaScript всё равно может её прочитать (если нет HttpOnly).

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью