0Pricing
Sveltejs Academy · Урок

Сеансы на основе файлов 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 — локальная установка не требуется.

Все уроки этого курса

  1. Сеансы на основе файлов cookie
  2. JWT в HTTP-only файлах cookie
  3. Защищённые маршруты в хуке handle()
  4. OAuth с SvelteKit и Lucia Auth
← Назад к Sveltejs Academy