【发布时间】:2012-01-06 03:39:33
【问题描述】:
我已经在 CodeIgniter(电子邮件/密码)中设置了我的登录功能。电子邮件字段正在根据数据库正确验证,但只要电子邮件经过验证,任何密码都被接受——即使是空白密码。
我需要弄清楚为什么只针对数据库检查电子邮件字段以及如何获取密码字段以针对数据库进行验证。
边栏:我计划接下来加密密码,但要确保该字段首先针对数据库进行验证。然后我将添加安全层。
从登录控制器:
function login_validation()
{
$this->load->model('foo_model');
$query = $this->foo_model->validate();
if($query)
{
$data = array(
'email' => $this->input->post('email'),
'password' => $this->input->post('password'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('foodash');
}
else
{
$this->index(); // login page
}
}
来自 foo 模型:
function validate()
{
$this->db->where('email', $this->input->post('email'));
$this->db->where('password', $this->input->post('password'));
$query = $this->db->get('footable');
if($query->num_rows == 1)
{
return true;
}
}
}
想通了: 我正在使用 jquery 屏蔽我的密码字段,以便输入时文本不可见。我不得不更改密码字段的名称——一旦我在模型中更改了它,一切都运行良好。
【问题讨论】:
标签: codeigniter passwords