Проверьте хэш пароля над параметром запроса или при условии - PullRequest
1 голос
/ 06 марта 2011

Я хочу спросить, лучше сделать запрос в mongo db следующим образом:

db.users.findOne({'username': 'example', 'password': '5f189664bb2e58d4e2ee879835b13a7e3a790e14'})

Или выполнить проверку хэша пароля в условии if, например:

user = db.users.findOne({'username': 'example'})
if user['password'] == passwordHash:
    print "Hello user"

Спасибо!Jarus

1 Ответ

2 голосов
/ 06 марта 2011

Это зависит от того, что вы хотите сделать, если пользователь найден, но пароль неправильный.

  • Если вы хотите отобразить «Неверное имя пользователя или пароль», вы можете использовать любой из этих методов.
  • Если вы хотите отобразить «Неверный пароль», вам нужен второй метод, так как первый метод не может различить действительное имя пользователя и неправильный пароль, а пользователь не существует.

Примечание. Если вы хотите обеспечить безопасность своей системы, вам, вероятно, следует предпочесть первый метод второму.Второй метод следует различным путям кода в зависимости от того, существует ли имя пользователя и неправильный пароль, или если имя пользователя не существует.Это может привести к утечке информации о том, какие имена пользователей существуют в вашей системе, что может быть полезно для злоумышленников.

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