Check the password of a user

时间:2011-03-30 作者:Ashfame

我想检查用户是否有特定密码,因此我一直在尝试wp_check_password 但被检查的帐户已注销,在调用之前无法再次登录wp_check_password 在代码中。

深入研究代码,我发现它使用新的哈希设置密码。而且如果我使用wp_check_password( \'hello\', md5(\'hello\'), 1 );, 它甚至不检查数据库中的内容并返回true。那不是一只虫子吗?

有什么办法可以检查用户的密码吗?

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

你的例子是正确的。您正在检查密码hello 哈希匹配hello - 这是很自然的

还没想清楚呢。您的示例导致以下问题:

你检查一下hello 匹配的md5hello (而不是用户配置文件中的哈希)hello 并用它更新用户,将其锁定(因为他的密码现在是hello 而不是以前的情况)请参见wp_authenticate_username_password() 函数用于广泛的示例,但基本思想是:

$userdata = get_user_by(\'login\', $username);
$result = wp_check_password($password, $userdata->user_pass, $userdata->ID);

SO网友:goldenapples

您可以从数据库中获取他们的哈希密码,并将其与要使用wp_hash_password().

要检查当前用户的密码是否与“hello”匹配,请尝试以下操作:

if ( $current_user->user_pass == wp_hash_password( \'hello\' ) )

结束

相关推荐

如何在管理中用图标替换“Password Protected”文本

在Wordpress中,每当帖子受到密码保护时,后端管理区域都会在帖子标题后添加粗体“-密码保护”文本。我正在寻找的是一种删除此文本的方法,而是让它使用一个图标(下面的链接),该图标应附加在标题文本之前。如何做到这一点?我想使用Aesthetica Icon Set 通过http://dryicons.com: