PHP 5.5 のpassword_hash 関数とpassword_verify 関数によるパスワード セキュリティ
クエリ:
PHP 5.5 を使用してパスワードを安全に保存する場合のpassword_hash()関数では、ソルトのみを保存するのが適切ですか?データベースは?
答え:
いいえ。パスワードのセキュリティを強化するには、ハッシュとソルトの両方をデータベースに保存することが不可欠です。 password_hash は、両方の要素を含む文字列を便利に生成します。
推奨事項:
安全なパスワード ストレージを実装するには:
-
世代: ハッシュされたパスワードを作成するには、password_hash() を使用します: $hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
-
ストレージ: 対応するユーザーのデータベースに $hashAndSalt を挿入します。
-
検証:送信されたパスワード、保存されている $hashAndSalt をデータベースから取得し、password_verify() を使用します。 password_verify($password, $hashAndSalt)
追加の考慮事項:
-
セキュリティ慣行: 古いバージョンの代わりに mysqli を使用します。改善するext/mysqlセキュリティ。
-
SQL インジェクション防止: ベスト プラクティス (準備されたステートメントなど) に従って、SQL インジェクションのリスクを理解し、軽減します。
以上がパスワードセキュリティに PHP 5.5 の「password_hash()」を使用する場合にのみソルトを保存する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。