Таймаут сессии — зачем нужен и как его настроить
Таймаут сессии — срок, после которого сервер аннулирует запись о входе или выданный код, и действие нужно начинать заново. Именно из-за него QR авторизации обновляется каждые десятки секунд, а платёжный код живёт ограниченное время.
Определение
Сессия — запись на сервере о том, что этот посетитель уже вошёл. Браузер хранит только предъявителя: сессионный токен в cookie. Таймаут — срок, после которого сервер стирает запись, и предъявитель превращается в бесполезную строку.
Таймаутов два, и работают они одновременно. Idle считает время от последнего действия: пять минут не трогали интерфейс — выкинуло. Абсолютный срок считается от входа и активностью не продлевается: 12 часов прошло — вход заново, даже если вы работали без перерыва.
Тот же механизм стоит за одноразовыми кодами. QR-авторизация обновляет картинку каждые несколько десятков секунд, потому что за ней стоит короткоживущий запрос на вход, а не постоянная ссылка.
Как работает
Срок задаёт та сторона, которая выдала код или открыла сессию, — пользователь его не меняет.
| Что | Типичный срок | Кто задаёт |
|---|---|---|
| QR для входа в веб-версию мессенджера | десятки секунд, потом перерисовка | сервис |
| Код TOTP | 30 секунд по стандарту | алгоритм |
| Кабинет банка | минуты бездействия | банк |
| Динамический платёжный QR | от минут до суток и больше | получатель платежа при создании |
| Админка сервиса | часы плюс абсолютный предел | настройки сервиса |
По истечении срока сервер говорит не «ошибка», а «начните заново». Это защита: украденный токен теряет ценность вместе с сессией, поэтому короткий таймаут и кнопка выхода значат больше, чем сложность пароля.
Связанные концепции
Где таймаут ломает работу, если про него забыли:
- скриншот кода авторизации отправляют в чат или вставляют в инструкцию — через минуту картинка мертва, а человек ищет причину в сканере;
- платёжный QR печатают и держат на кассе неделю — срок вышел, покупатель видит ошибку оплаты (как проверить QR-код на безопасность);
- длинный таймаут на общем планшете или компьютере в коворкинге открывает кабинет следующему, кто сядет;
- слишком короткий idle теряет заполненную форму оператора — лечится автосохранением черновика;
- частая ошибка: одноразовый код пересылают коллеге «на всякий случай» — он всё равно истечёт, зато попадёт в переписку.
Клиника в Самаре держала админку записи открытой на ресепшене с таймаутом 12 часов: после смены администратора карточки пациентов видел любой посетитель за стойкой. Idle снизили до 15 минут, форму научили сохранять черновик — жалоб на потерянные данные не прибавилось.
Частые вопросы
Почему QR-код для входа всё время обновляется?
За картинкой стоит одноразовый запрос на вход с коротким сроком жизни. Пока код показан, его может сфотографировать сосед или камера, поэтому сервис перерисовывает картинку каждые десятки секунд. Сканируйте код, который видите сейчас, а не снимок из переписки.
Чем idle-таймаут отличается от абсолютного срока?
Idle считает время без действий и обнуляется при каждом клике: с ним можно работать сутки, если не отходить. Абсолютный срок считается от момента входа и активностью не продлевается — по его истечении выкинет посреди работы. В нормальной системе настроены оба.
Сколько живёт платёжный QR-код?
Зависит от того, кто его выпустил. Срок задаёт получатель платежа при создании кода, и у разных банков диапазон от нескольких минут до суток и больше. Код на конкретную сумму живёт коротко, а код-реквизит для приёма переводов — постоянный. Точный срок — в условиях банка.
Какой таймаут ставить в админке сервиса?
Для устройства в зале — 10–15 минут бездействия плюс абсолютный предел на смену, 8–12 часов. Для личного ноутбука сотрудника допустимы часы. Чем чувствительнее данные, тем короче idle, а неудобство лечится автосохранением черновиков. Кнопка выхода обязательна.
Почему пишет «сессия истекла», хотя я только вошёл?
Обычные причины: страницу открыли из старой вкладки, где лежал прошлый токен; несколько параллельных входов, и один сбросил другой; расхождение времени на устройстве, из-за которого одноразовые коды считаются просроченными. Помогает вход с главной страницы.
Автор материала
Андрей СамойловЭксперт по QR-кодам и SaaS-маркетингу. 10 лет в SaaS, маркетинге и ИТ.
Об авторе и все материалы