:PHPはハッシュされたパスワードをファイルに書き込まないでしょうか?私は現在、PHPのパスワードの検証をテストしようとすると、次のコードを使用して、そうやって
HTMLファイル:
<form action="post.php" method="post" id="set">
<label>Set</label>
<input name="password1" id="password1">
<input type="submit" name="submit1" value="Add password">
</form>
<form action="check.php" id="check">
<label>Check</label>
<input name="password2" id="password2">
<input type="submit" name="submit2" value="Test Password">
</form>
PHPは、ファイルにパスワードを追加します。
<?php
$password = $_POST['password1'];
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$file = 'hash.txt';
file_put_contents($file, $hashed_password, FILE_APPEND);
?>
PHPは、入力されたのコンペアファイル内のパスワードとパスワード:
<?php
$password = $_POST['password2'];
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
if (password_verify($password, $hashed_password)) {
echo 'Correct';
}
echo 'Wrong';
?>
私はファイルにパスワードを保存することは賢明なアイデアではありませんが、これはテストすることです。
私がやっていることは、最初のフォームにパスワードを入力してヒットサブミットし、ハッシュされたパスワードをhash.txt
に保存して、2番目のフィールドにパスワードを再入力すると、 。
私が午前問題は、私が最初にフォームに、送信]を押したときに、それはpost.php
に私を送信し、ファイルからパスワードを読み取るためにhash.txt
あなたは2番目のスクリプトに戻ったファイルからパスワードを読んでいません! – RiggsFolly
ファイルは書き込み可能ですか? – Daan
エラー報告を有効にしたか、エラーログを確認しましたか? – deceze