2017-06-24 11 views
-1

私はこれまでに尋ねられたことは知っていますが、私が生きていく前に、私が得たものが最新であることを確かめ、明白な理由で安全であることを確認したい。PHPパスワードハッシュと塩

私はパスワードを確保するために、このメソッドを使用しました:

'password' => password_hash($_POST['password'], PASSWORD_DEFAULT)."\n", 

これは、新しいアカウントを作成するには、ユーザの入力フォームです。私の理解は、パスワードをハッシュし、余分なセキュリティのために塩のサーバサイドを使用しています。私はこれを考えているのでしょうか、何か不足していますか?

+4

機能のドキュメントをご覧ください。それはすべての詳細を説明しているので、ドキュメンテーションは... http://php.net/manual/en/function.password-hash.php – arkascha

+0

ありがとう、私はこれをやってきましたが、私は新しいですPHPは言語として、私は明らかなエラーをしていないと二番目の意見を得たいと思った。 – James

+0

[パスワードの安全なハッシュと塩](https://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords) – rtfm

答えて

1

「私は右の何かを、このことを考えたり、私が行方不明ですにいます?」

これは欠けているのではなく、「あまりにも多く」です。

あなたはこの中で."\n"を取り除く必要があります。

'password' => password_hash($_POST['password'], PASSWORD_DEFAULT)."\n", 

それは追加/ハッシュに隠された改行を埋め込み、黙っpassword_verify()上に失敗するからです。

trim()を使用することもできます。これは、データベースに挿入される前に削除する1つの方法です。しかし、削除するだけです。

これは、ユーザーに記載されていますが、手動でノートを寄付:に改行文字\nを連結ドキュメントからの例を使用している場合

は注意してつまり、次のようになります。 echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT)."\n"; 人々は連結された改行でハッシュを格納しており、結果としてpassword_verify()が失敗します。

+0

ありがとうございます。本当にありがとう!私は "\ n"を削除しました。これはちょうど私が従ったチュートリアルからでした。 – James

+0

@JamesあなたはJamesを歓迎します。 –

関連する問題