Безопасен ли этот сеанс входа в систему?

Я создал систему входа в систему, используя сеансы PHP.

Вот как это работает:

1.) Когда пользователь входит в систему (с действительной информацией для входа): Их информация ( имя пользователя и пароль ) сохраняется в сеансе вместе с некоторыми другими битами информации: Срок действия : это всего лишь 5 минут, добавленных к текущему времени (поэтому, если пользователь входит в систему в 22:30, время истечения срока действия будет 22:35).

2.) При просмотре каждой страницы авторизованного пользователя: Сессия проверяется на наличие. В противном случае пользователь перенаправляется на страницу входа. Если сеанс действительно существует, он затем проверяет время истечения и сравнивает его с текущим временем . Если время истечения больше, чем текущее время (пользователь был неактивен более 5 минут), то его данные пользователя (в сеансе) проверяются (по сравнению с данными в базе данных ) и сеанс Expiretime обновляется, но если время истечения меньше, чем текущее время , он не будет проверять какие-либо детали, обновляет expire time сеанс и позволит пользователю продолжить. Я сделал это, чтобы предотвратить постоянные запросы к БД для экономии полосы пропускания.

Таким образом, как только пользователь успешно вошел в систему, его имя пользователя и пароль больше не будут проверяться в БД, пока они либо не станут неактивными (остаются на одной странице) более 5 минут, либо не выйдут из системы.

ЗАБЫЛИ что-то упомянуть, ребята: Срок действия сеанса на самом деле называется expire_time_unique_characters ( $ _ SESSION ['expire_time _'. $ Unique_nu] ), что означает, что злой человек также должен будет найти $ unique_nu при подделке сеанса ...

Я просто чувствую, что это не очень безопасно.

Кроме того, проект с открытым исходным кодом (люди могут видеть исходный код), так что здесь возникает еще больший риск ...

вы, ребята, можете дать мне обратную связь?

Спасибо

6
задан 17 December 2011 в 13:54
поделиться