私はcodeigniterフレームワークを使用しています。ログインモデルとビュー付きのコントローラーがあります。テスト目的で、データベースのユーザーテーブルにユーザー名としてadminを、パスワードとしてadminを設定しています。しかし、admin13356、admindsgsd、またはadminWHATEVERをパスワードとしてadminを使用すると、ログインは成功します。理由がわかりません。
私のコントローラー機能は以下の通りです。
function check(){
$this->load->model('loginModel');
$query = $this->loginModel->validate();
if($query){
$data = array('username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
//redirecting to appropriate page
redirect('success');
}else{
$this->session->set_flashdata('loginCheck','Username/Password Comination Incorrect!');
redirect('login');
}
}
そして私のモデルは以下の通りです。
function validate(){
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', md5($this->input->post('password')));
$query = $this->db->get('users');
if($query->num_rows() == 1){
return true;
}
}