2017-05-24 133 views
0

自从我使用Wordpress以来已经有一段时间了,但我被要求查看一个看起来不起作用的自定义身份验证插件。我只是复制并粘贴了我看起来无法正常工作的相关代码片段。检查密码总是显示不正确。自定义Wordpress身份验证插件无法正常工作

$user = $_GET['user']; 
$pass = $_GET['pass']; 
$hash = wp_hash_password('$pass'); 

$query = mysqli_query($con, "Select * from users where username='$user'"); 

while($row = mysqli_fetch_array($query)) { 
$check = wp_check_password($pass, $hash) 
} 

$ check ALWAYS等于false。有人有主意吗?另外,wp_hash_password不会每次都做一个不同的散列,因为它会给它添加盐分?例如;当我写

$hash = wp_hash_password('pizza'); echo $hash;

哈希始终是不同的。因此,如何如果哈希始终是不同的CAN

wp_check_password($pass,$hash)

工作?

我真的很感谢所有帮助

回答

0

检查wp-config.phpsecret key definitions,因为他们可以通过盐析它改变身份验证的哈希。如果他们在那里,则可能需要使用wp_salt来将密码与数据库进行比较。

编辑: 密钥也存在于数据库的选项表中。它们可以从wp-config.php或数据库中应用。如果您的网站在过去已被移动或编辑过,您可能需要检查两个地方,以确定WordPress是否窜改密码。

+0

谢谢你的回答!你知道我该如何将盐传递给散列函数? –

+0

您可以使用'wp_check_password'将纯文本密码与数据库中的哈希进行比较,而无需自己对密码进行哈希处理? –

+0

感谢您的回复。我尝试过,但不幸的是,它总是回来作为假 –

相关问题