Я установил свои функции входа в 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
}
}
Из модели 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, чтобы при вводе текста текст не отображается. Мне пришлось изменить имя поля моего пароля - как только я изменил его в модели, все сработало отлично.
Без синтаксиса или с использованием false после утверждения IF. Все еще можно войти без пароля или пароля. – chowwy