Я настроил свои функции входа в систему в 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, чтобы текст не отображался при вводе.Мне пришлось изменить имя моего поля пароля - как только я изменил его в модели, все работало отлично.