Сеансы на основе файлов cookie
Создавайте и управляйте сеансами на сервере с помощью защищённых HTTP-only файлов cookie
«Сеансы на основе файлов cookie» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.
Зачем нужны cookie
Cookie — самый надёжный способ сохранять аутентификацию между загрузками страниц, особенно в приложениях с SSR.
Только HTTP
Cookie, доступные только по HTTP, нельзя прочитать через JavaScript, поэтому кража токенов сеанса посредством XSS становится невозможной.
Защищённость и SameSite
В рабочей среде всегда устанавливайте secure: true, а для защиты от CSRF — sameSite: "lax".
Установка cookie сеанса
Используйте вспомогательный объект cookies в действии или конечной точке.
cookies.set("sessionId", sid, {
path: "/",
httpOnly: true,
secure: true,
sameSite: "lax",
maxAge: 60 * 60 * 24 * 7
});Чтение сеанса
Прочитайте cookie внутри хуков и сопоставьте сеанс с объектом пользователя.
const sid = event.cookies.get("sessionId");
event.locals.user = await db.session.findUser(sid);Выход из системы
Удалите cookie, чтобы выйти из системы.
cookies.delete("sessionId", { path: "/" });Хранение на сервере
Храните сведения о сеансе (идентификатор пользователя, срок действия) в базе данных или быстром кэше (Redis).
Истечение срока и продление
Периодически меняйте идентификаторы сеансов и делайте это после важных действий, например смены пароля.
Защита от CSRF
SvelteKit по умолчанию защищает действия форм от CSRF с помощью проверки источника запроса.
Только HTTPS
Всегда передавайте сеансы по HTTPS; cookie с параметром secure требуют этого протокола.
Токены обновления
Для долгоживущей аутентификации сочетайте короткоживущую cookie сеанса с более долгоживущим токеном обновления.
Быстрая проверка
Зачем использовать cookie с параметром httpOnly?
Итоги
Используйте cookie с параметрами httpOnly, secure и sameSite, устанавливаемые сервером, а в хуках сопоставляйте их с пользователем для аутентификации, совместимой с SSR.
Часто задаваемые вопросы
Урок «Сеансы на основе файлов cookie» бесплатный?
Да — полный текст урока «Сеансы на основе файлов cookie» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.
Чему я научусь в уроке «Сеансы на основе файлов cookie»?
Создавайте и управляйте сеансами на сервере с помощью защищённых HTTP-only файлов cookie Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Sveltejs Academy?
Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Сеансы на основе файлов cookie»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Sveltejs Academy?
Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Сеансы на основе файлов cookie
- JWT в HTTP-only файлах cookie
- Защищённые маршруты в хуке handle()
- OAuth с SvelteKit и Lucia Auth