我一直在嘗試寫幾天的簡單登錄。在我認爲我已經工作了之後,我意識到它會接受密碼字段中的任何輸入爲真,因此我將其廢棄並重新開始。我試圖使用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