руководство по реализации аутентификации пользователей с помощью php и mongoDB - PullRequest
0 голосов
/ 24 декабря 2011

Я использую php sesions с mongodb, определяя

session_set_save_handler()

если у каждого пользователя есть роль (клиент, администратор, сотрудник), с каждой страницей, которую я загружаю после получения идентификатора сеанса, я проверяю значение роли это безопасный подход? или они могут пройти мимо этого?

1 Ответ

0 голосов
/ 24 декабря 2011

Данные сеанса должны содержать «состояние» (т. Е. Вошел или не вошел в систему) пользователя, но не конкретные данные, например роль пользователя.

Таким образом, после аутентификации пользователя вы можете искать информацию о пользователе в базе данных. Если у этого пользователя есть требуемая роль, загрузите страницу; если нет, то не надо.

Чего не следует делать, так это войти в систему пользователя, создать сеанс для этого пользователя, а также сохранить в этом сеансе роль. Если вы сделаете это таким образом, вы потенциально оставите свой сайт уязвимым для лазеек (особенно на виртуальном хостинге). Кроме того, что, если роль пользователя изменяется в течение времени жизни сеанса? Либо вы просите пользователя снова войти в систему, либо изменение роли фактически не «регистрируется» до тех пор, пока сеанс не будет уничтожен (что может быть долгим, в зависимости от конфигурации).

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