Доброго дня.
Не секрет, что стандартный механизм сессий не предоставляет защиты, что вызывает необходимость ее создания. В
статье от php-коммьюнити предлагается управлять сессиями на базе временных меток. Что это значит?
Я понимаю это следующим образом (само собой, strict_mode для сессий включен):
- создается таблица sessions, туда пишется каждая сессия залогиненного пользователя, ассоциированная с ним, + время ее создания.
- если произошел разрыв связи, сеанс нарушен, ждем 5-7 минут перед тем, как пометить сессию неактивной, если пользователь появляется в это время, восстанавливаем сессию
- сессионные cookie живут только один сеанс (имеется в виду сеанс работы браузера), собственно сессии на сервере живут как можно меньшее время
- id сессии меняется каждые 15-30 минут в течение сеанса, пишется в БД, старые ID помечаются как неактивные
- сессии, помеченные неактивными, удаляются из БД только если файл сессии удален сборщиком мусора
- соответственно, пресекаем попытки постучаться с сессией, которая уже есть в БД и помечена как неактивная
- так же пресекаем попытки постучаться с сессией, которой в БД нет (если все новые ID создаются сервером, это наверняка атака)
Корректен ли такой подход к управлению сессиями, или я что-то упустил \ неверно понял?
Заранее спасибо.