我使用我编写的一些外部php,我希望它被wp_users
使用。
因此,我检查用户和密码 - 如果匹配,我echo
"登录"。
文档中,它说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 应用程序传递给外部框架。