ホームページ >データベース >mysql チュートリアル >PDO パスワードのハッシュ化によりコードのセキュリティはどのように向上しますか?

PDO パスワードのハッシュ化によりコードのセキュリティはどのように向上しますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-10 19:19:18958ブラウズ

How Can PDO Password Hashing Improve My Code's Security?

PDO を使用したパスワード ハッシュによるコードの保護

コードのセキュリティを強化するには、PDO を使用したパスワード ハッシュの実装を検討する必要があります。 。この技術は、MD5 を使用する場合と比較して、より高いレベルの保護を提供します。

ログイン スクリプトでは、次のようにパスワード ハッシュを組み込むことができます:

$sql = "SELECT * FROM users WHERE username = :u";
$query = $dbh->prepare($sql); // prepare
$params = array(":u" => $_POST['username']);
$query->execute($params); // execute

$results = $query->fetchAll(); // then fetch

if (count($results) > 0) {
    $firstrow = $results[0];
    $providedPassword = $_POST['password'];
    $hashedPasswordFromDB = $firstrow['password'];

    if (password_verify($providedPassword, $hashedPasswordFromDB)) {
        // Valid login
    } else {
        // Invalid password
    }
} else {
    // Invalid username
}

登録スクリプト:

$dbh = new PDO(...);

$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
$hash = password_hash($password, PASSWORD_DEFAULT);

$stmt = $dbh->prepare("insert into users set username=?, email=?, password=?");
$result = $stmt->execute([$username, $email, $hash]);

パスワード ハッシュを利用すると、不正アクセスやデータ侵害からコードを効果的に保護できます。

以上がPDO パスワードのハッシュ化によりコードのセキュリティはどのように向上しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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