Member 13742971 Ответов: 1

Как сделать мою систему входа в систему безопасной?


Я создал простую систему входа в систему, которая подключается к базе данных MySQL.

Логин в основном запрашивает имя пользователя и пароль, которые хранятся в базе данных. У пользователя нет возможности зарегистрироваться/зарегистрироваться.

Каковы наилучшие методы обеспечения безопасности моего входа в систему?

Какие меры безопасности вы бы порекомендовали?

Что я уже пробовал:

Я изучил password_hash и password_verify, но я думаю, что это будет подходить только тогда, когда кто-то регистрируется или создает новое имя пользователя и пароль.. поправьте меня, если я ошибаюсь, так как я новичок в этом деле.

Я использую сеансы в своем коде, но этого недостаточно для обеспечения безопасности.

1 Ответов

Рейтинг:
9

OriginalGriff

Никогда не храните пароли. Это серьезный риск для безопасности.
Всегда их хэш: Хранение паролей: как это сделать.[^] - код написан на C#, но это точно такой же принцип в любом языке.
Хэшируйте пароль - с помощью соли, например userID, чтобы два пользователя со строкой "пароль" не получили один и тот же хэш - и сохраните его. Когда пользователь пытается войти в систему, хэшируйте то, что он вводит (используя ту же соль), и сравните хэши. Если они совпадут, впусти его.

Но сначала убедитесь, что все в вашем коде безопасно для SQL - инъекций - весь доступ к БД должен использовать параметризованные запросы, а не конкатенацию строк- или защита паролей станет неуместной!