微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

登录/注册系统与php和mysql

我想使用 PHPMysqL一个简单的用户登录/注册系统.我不需要获取超出用户登录和登出所需的信息.我想确保系统安全.

我现在明白如何运作的方式是:

注册

用户输入他们的电子邮件地址,密码和确认密码.

PHP脚本确保密码匹配,并且电子邮件是有效的地址,并且不在数据库中.

它将密码和随机盐一起散列,并将盐和结果散列的密码存储数据库中. (是PHP的md5功能适合这个吗?我不太清楚这个部分如何工作.)

数据库中存储电子邮件确认码,并将给定的电子邮件地址发送回包含该代码的网站以进行验证?

登录

用户输入其电子邮件地址和密码.

服务器在数据库中查找电子邮件并检索盐.然后用用户刚刚提供的密码对盐进行散列,看看它是否与数据库中的密码相匹配.

登录后如何使会话持续.用PHP会话?一个cookie?应该存储在cookie中以记住访问之间的用户

我基本上只是想一些验证,我描述的过程是一个准确和安全的方式进行用户注册/登录.另外,有些更好的教程有更多的信息.

Is PHP’s md5 function suitable for this?

MD5不再被认为是安全的;考虑使用具有可变计算复杂度的bcrypt算法使用PHP的较新内置密码散列:PHP password_hash()password_verify().

How do I make the session persist after login. With a PHP session? A cookie? What should get stored in the cookie for remembering the user between visits?

理想情况下,您将使用PHP会话在单次访问期间维护状态,如果您想要“记住我的登录”选项,则可以使用包含足够信息的cookie来验证返回的用户并重新启动新会话.有关2004年关于登录Cookie的最佳做法的好文章Persistent Login Cookie Best Practice.您可能也会对securely implementing “remember me” checkboxes的更现代化(2015)解决方案感兴趣.

除了这些,我认为任何你所描述的是好的.

原文地址:https://www.jb51.cc/php/130809.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐