【发布时间】:2019-05-03 09:27:06
【问题描述】:
我有以下代码来验证应用程序的用户。我已经能够在系统上注册用户,但在尝试使用正确的详细信息登录后,我的身份验证代码无法将用户重定向到应用程序。即使我使用了正确的用户详细信息,该页面也只会将用户重定向回登录页面。
控制器
var $salt = '%&)#$sfsf(abm@009011';
function authenticate() {
$username = $this->input->post('username');
$this->db->where('phone', $username);
$password = $this->db->where('password', md5(crypt($this->input->post('password'), $this->salt)));
$query = $this->db->get('user_login');
if ($query->num_rows = 1) {
//echo "success";
return true;
} else
return false;
}
我还能在代码中做错什么? PS:CodeIgniter 初学者
【问题讨论】:
-
很难在没有看到更多代码的情况下判断出了什么问题(除了使用赋值运算符而不是比较运算符)。您只是返回一个真/假值,但我们不知道您之后在做什么。您是否正在使用登录的用户数据生成会话?您的控制器是否检查该数据以“决定”他们是否允许您访问他们的方法?另外,我强烈建议您更改您选择散列密码的非常不安全的方式(使用 password_hash 而不是 crypt+md5+static salt,这实际上是不安全的)
标签: php codeigniter