我一直在尝试写几天的简单登录。在我认为我已经工作了之后,我意识到它会接受密码字段中的任何输入为真,因此我将其废弃并重新开始。我试图使用php函数password_verify
进行验证,但无论我做什么,它总是仍然返回true。有什么我做错了吗?这里是我的代码(我知道它不安全,我只是希望它现在识别一个错误的密码)密码验证总是返回true
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$hash = password_hash($password, PASSWORD_DEFAULT);
if(password_verify($_POST['password'], $hash))
{
echo 0;
}
else
{
echo 1;
}
}
@FerozAkbar它在[PHP核心](http://php.net/password_verify)中。 – 2014-11-09 04:37:19
您正在比较的那个应该是从之前操作中注册的db行中提取的散列密码。 – Ghost 2014-11-09 04:41:36
是你的“完整”代码吗?我怀疑它,因为你把它标记为'mysqli'。告诉我们你是如何使用它的。我有几个使用这两种功能的随时可用的脚本。输入密码 – 2014-11-09 04:42:36