wordpress 哈希方法 + 使用 wordpress 数据库登录


wordpress Hash method + login with wordpress database

我使用我编写的一些外部php,我希望它被wp_users使用。

因此,我检查用户和密码 - 如果匹配,我echo"登录"。

在Wordpress

文档中,它说Wordpress哈希方法是MD5!

但是当我md5这个(123321),我得到这个:

c8837b23ff8aaa8a2dde915473ce0991

但是我的数据库中的密码保存如下:

$P$BKaMz3dTLI9GIspy4Qmk2jPPQ4zv9f1

有没有办法在外部 php 中获取哈希方法来检查用户是否已登录?这是我的代码:

$userName = isset($_POST["name"]) ? $_POST["name"] : null;
$userPass = isset($_POST["pass"]) ? $_POST["pass"] : null;
$userPass = md5($userPass);
if ($userName && $userPass ){
    //print_r('SELECT * FROM wp_users WHERE user_login = "'.$userName.'"');
    $sql = "SELECT * FROM wp_users WHERE user_login = '$userName' limit 1";
    $result = $con->query($sql);
    if (!$result) {
        die('Invalid query: ' . mysql_error());
    }
    if ($result->num_rows > 0) {
      $row = $result->fetch_assoc();
      // CHECK PASS
     if($row['password'] == $userPass){
         echo "yeah you logged in";
     }
    }
}

Wordpress 不再使用 MD5。看到这里。您可以使用is_user_logged_in()来检查用户是否已登录,或者通过麻烦重新实现可移植PHP密码哈希框架。最好使用第一个选项并将结果从 Wordpress 应用程序传递给外部框架。