我想使用PHP和mysql制作一个简单的用户登录/注册系统。除了用户登录和注销所需的信息之外,我不需要获取任何信息。我想确保系统是安全的。
我目前理解它应该如何工作的方式是:
注册
用户输入他们的电子邮件地址、密码和确认密码。
PHP脚本确保密码匹配,并且电子邮件是一个有效的地址,并且不在数据库中。
它将密码与随机salt一起散列,并将salt和散列后的密码存储在数据库中。(php的md5函数适合这个吗?我不太确定这个部分是如何工作的。)
在数据库中存储电子邮件确认代码,并向给定的电子邮件地址发送回包含该代码的网站的链接以进行验证?
登录
用户输入他们的电子邮件地址和密码。
服务器在数据库中查找电子邮件并检索salt。然后将salt与用户刚才提供的密码进行散列,看看它是否与数据库中的密码匹配。
如何在登录后保持会话。用PHP会话?饼干?应该在cookie中存储哪些内容,以便在访问之间记住用户?
我基本上只是想验证一下我所描述的过程是一种准确、安全的用户注册/登录方式。此外,还有哪些好的教程可以提供更多信息。