1 最简单的,直接存储用户名和密码,登陆时逐个比对字段是否一致。
$sql = "SELECT * from `user` WHERE user_name='$username' AND user_pass='$password'";
这样操作简单。但是一旦服务器被攻破,数据库直接暴露,黑客拿到密码明文,会轻易进入用户的其他网络账户,特别是那些喜欢使用同样或近似的(用户名+密码)注册各个账号的人。
2 password_verify password_hash()
数据库不再存储密码明文,而是存储密码的hash值
这样即使服务器被攻破,黑客也得不到密码明文。目前认为从密码hash反推密码原文难度极大。
网友评论