ホームページ >バックエンド開発 >PHPチュートリアル >PHP 5.5 の `password_hash()` および `password_verify()` はどのようにしてユーザーのパスワードを安全に保存および検証できるのでしょうか?

PHP 5.5 の `password_hash()` および `password_verify()` はどのようにしてユーザーのパスワードを安全に保存および検証できるのでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-23 04:00:14237ブラウズ

How Can PHP 5.5's `password_hash()` and `password_verify()` Securely Store and Verify User Passwords?

PHP 5.5 によるパスワードの保管と検証

ユーザーのパスワードを保護する場合、不正アクセスを防ぐために堅牢な暗号化技術を採用することが不可欠です。 PHP 5.5 では、この目的のために、password_hash() 関数とpassword_verify() 関数が導入され、パスワード処理のための便利で安全なソリューションが提供されました。

正しいパスワードの保管

提供されたコードは、パスワードの保存に対する間違ったアプローチを示しています。ソルトを別々に保存するのではなく、ハッシュとソルトの両方を保存する必要があります。 password_hash() 関数は、両方の要素を組み込んだ文字列を生成します。

パスワードを保存する正しい方法は次のとおりです。

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Insert $hashAndSalt into the database

パスワードの検証

パスワードを検証するには、以前に保存した $hashAndSalt をデータベースから取得し、それをpassword_verify() で使用します。 function:

if (password_verify($password, $hashAndSalt)) {
    // Verified
}

セキュリティに関する追加の考慮事項

password_hash() 関数は安全なパスワード保存メカニズムを提供しますが、他のセキュリティのベスト プラクティスに従うことが重要です。次の使用を検討してください:

  • mysql の代わりに mysqli 拡張機能 (PHP5.5 で非推奨)
  • SQL インジェクションを防ぐための入力検証

以上がPHP 5.5 の `password_hash()` および `password_verify()` はどのようにしてユーザーのパスワードを安全に保存および検証できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。