我正在建立一个通过集成登录系统连接到中继聊天室的wordpress网站,我已经连接了可以正常工作的数据库,但是它不允许用户进行身份验证。
我正在配置中运行的查询是:
arr[i + 1]
我想要做的基本上是让查询检查user_login是否存在,然后使用密码进行身份验证。
我当前收到的错误如下:
"SELECT `user_email` AS `email` FROM `wp_users` WHERE `user_login` = @a@ AND `user_pass` = MD5(@p@)"
这真让我感到困惑
答案 0 :(得分:0)
WordPress不使用MD5。因此您的查询是错误的。您不能仅使用MySQL。但是您可以使用PHP来实现。
这是实现它的一种简单方法:
步骤1: 从WordPress安装(wp-includes目录)中获取class-phpass.php文件,并将其粘贴到您的请求发件人文件的邻居中。并在此处使用这段代码:
require_once("class-phpass.php");
$wp_hasher = new PasswordHash(8, true);
$password='open_password_to_check_here';
$hashed_password='hashed_password_from_mysql'; //select user_pass from wp_users where user_login=@a@;
$result=$wp_hasher->CheckPassword($password,$hashed_password));
//if result is true, then auth is OK.
或者(也是最好的方式)您可以使用WP REST API,该API包含身份验证过程。