我很想知道使用CodeIgniter登录的好方法。
我目前正在尝试以下方法: - 从登录表单中获取用户的电子邮件和密码 - 加密该密码,并将其与数据库中的密码进行比较。
然而它返回false。我相信这是因为加密方法每次都会创建一个新的加密密码。
我相信这是一件好事,但我能看到登录的唯一方式如下:
我对此感到不舒服,因为它要求我在变量中存储未加密的密码,这可能需要一个好的黑客才能知道用户的电子邮件地址。
建议?
答案 0 :(得分:0)
当用户注册时,您可以存储密码&通过使用php crypt即crypt($ password,$ salt),其中$ password是用户输入的密码& $ salt是随机字符串。 现在,在登录时
拔出的密码是$ hashed_password&用户输入$密码然后比较
if (crypt($password, $hashed_password) == $hashed_password)
{
//successful login
}else{
//Invalid username/password
}
答案 1 :(得分:0)
您还可以使用
使用form_validation规则$this -> form_validation -> set_rules('passconf', 'Re-enter', 'required|matches[password]');
#the rules set as the 3rd parameter of the set_rules function have matches