ホームページ > バックエンド開発 > PHPチュートリアル > PDO とパスワード ハッシュを使用して PHP アプリケーションのユーザー パスワードを保護するにはどうすればよいですか?

PDO とパスワード ハッシュを使用して PHP アプリケーションのユーザー パスワードを保護するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-11 04:11:10
オリジナル
133 人が閲覧しました

How Can I Secure My PHP Application's User Passwords Using PDO and Password Hashing?

PDO を使用したパスワード ハッシュでコードを保護する

機密性の高いユーザー データを保護するには、パスワードを適切に処理することが重要です。 PHP コードのセキュリティを強化するには、PDO にパスワード ハッシュを組み込むことを検討してください。

PDO へのパスワード ハッシュの組み込み

MD5 または他の弱いハッシュ アルゴリズムの使用は避けてください。代わりに、

  • PHP 5.5 : 組み込みのpassword_hash() 関数を使用します。
  • PHP 5.3.7 : password-compat をインストールして利用するlibrary.
  • その他: phpass ライブラリを採用します。

実装例

ユーザー登録用:

// Generate a secure hash of the password using password_hash()
$hash = password_hash($password, PASSWORD_DEFAULT);

// Prepare and execute SQL statement with the hashed password
$stmt = $dbh->prepare("INSERT INTO users SET username=?, email=?, password=?");
$stmt->execute([$username, $email, $hash]);
ログイン後にコピー

ユーザー向けlogin:

// Use PDO prepared statement to prevent SQL injection attacks
$sql = "SELECT * FROM users WHERE username = ?";
$stmt = $dbh->prepare($sql);
$stmt->execute([$_POST['username']]);

// Retrieve user record and verify password hash using password_verify()
$user = $stmt->fetchObject();
if ($user) {
    if (password_verify($_POST['password'], $user->password)) {
        // Valid login
        // ...
    } else {
        // Invalid password
        // ...
    }
} else {
    // Invalid username
    // ...
}
ログイン後にコピー

コードにパスワード ハッシュを組み込むことにより、ユーザー パスワードの保護が大幅に強化されます。ユーザーの信頼とアプリケーションの整合性を維持するには、機密データを保護することが最も重要であることを覚えておいてください。

以上がPDO とパスワード ハッシュを使用して PHP アプリケーションのユーザー パスワードを保護するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート