如何使用另一个网站使用存储在WordPress用户表中的现有密码来验证登录密码

时间:2018-10-18 07:40:00

标签: php mysql wordpress login-script

我编写了一个代码来从另一个域访问WordPress数据库表,我正在使用以下代码使用数据库中现有的密码来验证登录密码。

密码保存在我的数据库中

$2y$10$.n.qnlokr7g0fpI.k/GSvuiRBcxXfKQ6DQ6Oo97rlhtGDs3M3BcP.

我的代码是

public function doLogin($uname,$upass)
{
    try
    {
        $stmt = $this->conn->prepare("SELECT ID, user_login, user_pass FROM wp_users WHERE user_login=:uname");
        $stmt->execute(array(':uname'=>$uname));
        $userRow=$stmt->fetch(PDO::FETCH_ASSOC);
        if($stmt->rowCount() == 1)
        {
            $options = array(
                'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
                'cost' => 12,
              );
            echo $upass;
            echo '<br>';
            echo $hash_password= password_hash($upass, PASSWORD_BCRYPT); //Password encryption 
            echo '<br>';
            echo $userRow['user_pass'];

            if(password_verify($hash_password, $userRow['user_pass']))
            {
                echo 'Password Matches';
                $_SESSION['user_session'] = $userRow['ID'];
                return true;
            }
            else
            {
                 // Invalid credentials
                echo 'Password Mismatch';
                return false;
            }
        }
    }
    catch(PDOException $e)
    {
        echo $e->getMessage();
    }
}

每次单击“登录”时,我都会得到不同的哈希键。

但是我收到的消息是“ 密码不匹配”,

请提出解决方案。

0 个答案:

没有答案