Сеансы или доступ к базе данных, чтобы проверить, вошел ли пользователь в систему? - PullRequest
0 голосов
/ 03 июля 2018

Я использую php-сессии, чтобы проверить, вошли ли пользователи в мое приложение. Разве это значительно лучше для производительности, чем просто сохранение идентификатора пользователя в сеансе и проверка по базе данных, если пользователь вошел в систему вместо этого?

Если пароль изменился или я хочу заблокировать / выйти из системы, пользователя легко изменить запись в базе данных, но могу ли я сделать это, когда он живет в сеансе? Как?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Вы можете использовать оба.

Используйте переменную сеанса в качестве первой проверки, чтобы вы сразу отклонили любой запрос, если переменная сеанса не установлена. Это избавляет от необходимости выполнять дорогостоящую проверку базы данных на случайные запросы о постучании в дверь.

Но если он установлен, вам все равно придется выполнить проверку базы данных, чтобы убедиться, что сеанс входа пользователя в систему все еще действителен. Когда пользователь входит в систему, создайте случайный токен и сохраните его в переменной сеанса и базе данных. При обработке нового запроса проверьте, соответствует ли переменная сеанса тому, что находится в БД. Если администратор хочет заставить пользователя выйти из системы, он просто делает эту запись базы данных недействительной.

0 голосов
/ 03 июля 2018

Я использую php-сеансы, чтобы проверить, вошли ли пользователи в мое приложение

Я не совсем уверен, как это выглядит - но это звучит ужасно. Либо вы нарушили модель безопасности сеанса, либо вы должны грубо форсировать данные сеанса каждый раз, когда хотите выяснить, кто вошел в систему. Конечно, требование поддерживать список активных сеансов и идентификаторов пользователей было бы лучше всего реализовано в виде piggy- поддержанный пользовательским обработчиком сеанса (для целей запуска - не для обычного носителя), но вы, похоже, намекаете, что вы этого не делаете.

Если пароль меняется

Вы не можете сохранить пароль, используемый для аутентификации сеанса в сеансе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...