Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: token storage, localStorage, sessionStorage, cookies, security

Какие существуют способы хранения токенов на клиенте?

Вопрос проверяет знание безопасных методов хранения токенов аутентификации на стороне клиента.

Короткий ответ

Токены можно хранить в localStorage, sessionStorage или cookies. localStorage и sessionStorage уязвимы для XSS-атак, так как к ним есть доступ из JavaScript. Cookies с флагами HttpOnly и Secure более безопасны, так как недоступны для JS и передаются только по HTTPS. Для повышения безопасности рекомендуется использовать httpOnly cookies и хранить токены в памяти приложения.

Длинный ответ

Способы хранения токенов на клиенте

Хранение токенов аутентификации (например, JWT) на клиенте — критически важная задача для безопасности веб-приложений. Основные способы включают использование localStorage, sessionStorage и cookies. Каждый из них имеет свои преимущества и недостатки, особенно в контексте защиты от XSS и CSRF атак.

localStorage и sessionStorage

localStorage и sessionStorage — это хранилища браузера, доступные через JavaScript. Они просты в использовании, но уязвимы для XSS-атак: если злоумышленник внедрит скрипт, он сможет прочитать токен. sessionStorage очищается при закрытии вкладки, что снижает риск, но не устраняет его полностью.

// Сохранение токена в localStorage
localStorage.setItem('token', 'my-jwt-token');

// Чтение токена
const token = localStorage.getItem('token');

// Удаление токена
localStorage.removeItem('token');

Cookies

Cookies — более безопасный вариант, если установлены флаги HttpOnly (недоступен для JavaScript) и Secure (только по HTTPS). Это защищает от XSS, но требует дополнительных мер против CSRF-атак, например, использование SameSite атрибута или CSRF-токенов.

// Установка cookie с флагами (на сервере)
Set-Cookie: token=my-jwt-token; HttpOnly; Secure; SameSite=Strict

Хранение в памяти

Токен можно хранить в переменной JavaScript (в памяти приложения). Это самый безопасный способ, так как токен не сохраняется в браузере, но при перезагрузке страницы он теряется, и требуется повторная аутентификация.

Вывод

Для максимальной безопасности рекомендуется использовать httpOnly cookies с флагами Secure и SameSite. Если требуется доступ к токену из JavaScript (например, для отправки в заголовках), рассмотрите хранение в памяти с коротким сроком жизни и использованием refresh-токенов в cookies.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

  • HTML

    HTML

Ключевые слова

#token storage

#localStorage

#sessionStorage

#cookies

#security

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию