Wordpress MySQL 数据库查询
Wordpress MySQL database query
我正在设置一个 wordpress 网站,该网站连接到带有集成登录系统的中继聊天室,我已经连接了工作正常的数据库,但是它不允许对用户进行身份验证。
配置中我运行的查询是:
"SELECT `user_email` AS `email` FROM `wp_users` WHERE `user_login` = @a@ AND `user_pass` = MD5(@p@)"
我想做的基本上是让查询检查 user_login 是否存在,然后使用密码进行身份验证。
我目前收到的错误如下:
COMMAND: username@host.host used IDENTIFY and failed to identify to nonexistent account username
这让我很困惑
WordPress 不使用 MD5。所以你的查询是错误的。你不能只用 MySQL 来做。但是你可以用 PHP 来完成。
这是实现它的一种简单方法:
第一步:
从 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,其中包含身份验证过程。
我正在设置一个 wordpress 网站,该网站连接到带有集成登录系统的中继聊天室,我已经连接了工作正常的数据库,但是它不允许对用户进行身份验证。
配置中我运行的查询是:
"SELECT `user_email` AS `email` FROM `wp_users` WHERE `user_login` = @a@ AND `user_pass` = MD5(@p@)"
我想做的基本上是让查询检查 user_login 是否存在,然后使用密码进行身份验证。
我目前收到的错误如下:
COMMAND: username@host.host used IDENTIFY and failed to identify to nonexistent account username
这让我很困惑
WordPress 不使用 MD5。所以你的查询是错误的。你不能只用 MySQL 来做。但是你可以用 PHP 来完成。
这是实现它的一种简单方法:
第一步: 从 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,其中包含身份验证过程。