我已在CodeIgniter(电子邮件/密码)中设置了我的登录功能。电子邮件字段正在根据数据库正确验证,但只要电子邮件被验证,任何密码都被接受 - 即使是空白密码。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
}
}
从富模式:
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输入文本时不可见。我不得不改变我的密码字段的名称 - 一旦我在模型中改变它,一切都很完美。
使用此语法或在IF语句后使用false不会更改。仍然可以使用无密码或任何密码进行登录。 – chowwy 2012-01-01 23:14:52