我的一些数据是从别的系统导入的,加密方式不一样,我在密码检测函数里面增加了一个部分,使用两种加密方式验证之后,只要有一个能成,就可以登录,但是登录之后,却不能获取用户数据。
下面的函数怎么修改才好?
/**
* 正式表用户登录检查,错误返回FALSE,正确返回用户数据
* @param $user_name
* @param $password
* @return
*/
function check_login($user_name, $password)
{
if (!$user_name OR !$password)
{
return false;
}
if (H::valid_email($user_name))
{
$user_info = $this->get_user_info_by_email($user_name);
}
if (! $user_info)
{
if (! $user_info = $this->get_user_info_by_username($user_name))
{
return false;
}
}
if (! $this->check_password($password, $user_info['password'], $user_info['salt']))
{
return false;
}
else
{
return $user_info;
}
}
设想是: 如果验证成功,根据之前已经写入的salt(默认都是1234),将现在的密码加密写入数据库,并且能够获取到用户数据,用来登录。
修改了一个函数,下面一部分需要帮忙
function update_user_password_ingore_oldpassword2($password, $user_name, $salt)
{
if (!$salt OR !$password OR !$user_name)
{
return false;
}
$this->update('users', array(
'password' => compile_password($password, $salt),
'salt' => $salt
), 'user_name = ' . ($user_name));
return true;
}
粗体部分,连接字符串成sql语句,不会用
阅读全文
收起全文