自从我使用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;
哈希总是不同的。那怎么可以
wp_check_password($pass,$hash)
工作吗?
我真的很感激任何帮助
答案 0 :(得分:0)
检查wp-config.php
secret key definitions,因为他们可以通过盐化来改变身份验证哈希。如果他们在那里,您可能必须使用wp_salt
加密密码,然后再将其与数据库进行比较。
编辑:
密钥也存在于数据库的选项表中。可以从wp-config.php
或数据库应用它们。如果您的网站过去曾被移动或编辑过,您可能需要检查这两个地方,以确定WordPress是否正在使用密码。