Система входа / регистрации с php и mysql

Я хотел бы создать простую систему входа / регистрации пользователей с использованием PHP и mysql. Мне не нужно получать никакой информации, кроме той, которая необходима пользователю для входа и выхода. Я хочу убедиться, что система безопасна.

В настоящее время я понимаю, как она должна работать:

Регистрация

Пользователь вводит свой адрес электронной почты, пароль и пароль подтверждения.

Сценарий PHP проверяет совпадение паролей и правильность адреса электронной почты, которого еще нет в базе данных.

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

Сохраните код подтверждения электронной почты в базе данных и отправьте на указанный адрес электронной почты ссылку на веб-сайт, содержащий этот код для проверки?

Вход в систему

Пользователь вводит свой адрес электронной почты и пароль.

Сервер просматривает электронную почту в базе данных и извлекает соль. Затем хеширует соль с паролем, который только что предоставил пользователь, чтобы проверить, совпадает ли он с паролем в базе данных.

Как мне сохранить сеанс после входа в систему. С сеансом PHP? Печенье? Что должно храниться в cookie для запоминания пользователя между посещениями?

Я просто хотел бы получить некоторую проверку того, что описываемый мной процесс является точным и безопасным способом регистрации / входа в систему. Также, какие хорошие руководства с дополнительной информацией.

9
задан Rikesh 21 February 2015 в 09:36
поделиться