问题描述
我正在开发一些以前使用 md5 进行密码散列的 codeigniter webapp,我想更改为 Bcrypt。 我已成功对密码进行哈希处理,但我似乎无法理解为什么即使密码错误,登录代码也会返回 true。任何密码都可以登录... 我还在学习 PHP,所以要友好。
public function login()
{
$email= $this->input->post('email',TRUE);
$password= $this->input->post('password',TRUE);
$data['email']= $email;
$data['password']= password_verify($this->input->post('password',TRUE),PASSWORD_DEFAULT);
$sess_array=array();
$getdata=$this->Api_model->getSingleRow('admin',$data);
if($getdata)
{
if($getdata->status==1)
{
$this->session->unset_userdata($sess_array);
$sess_array = array(
'name' => $getdata->name,'id' => $getdata->id,);
$this->session->set_userdata( $sess_array);
$dataget['get_data'] =$getdata;
$dataget['see_data'] =$sess_array;
redirect('Admin/home');
}
else
{
$this->session->set_flashdata('block',' Contact to admin.');
redirect('');
}
}
else
{
$this->session->set_flashdata('msg','Please enter valid Username or Password');
redirect('');
}
} ```
这是密码的注册码
$data['password']= password_hash($this->input->post('password',PASSWORD_DEFAULT) ;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)