パスワード ハッシュと PDO によるデータベース セキュリティの強化
パスワードなどの機密情報の保護は、最新のソフトウェア開発において不可欠です。 MD5 などの従来の方法はもはや安全ではないため、パスワード ハッシュなどの堅牢なソリューションの必要性が高まっています。
PDO を使用してコードにパスワード ハッシュを組み込むことは、セキュリティを大幅に強化する簡単なプロセスです。パスワードはプレーン テキストで保存されるのではなく、安全なハッシュに変換されるため、復号化はほとんど不可能になります。
PHP コードでパスワード ハッシュを実装する方法は次のとおりです。
ログインスクリプト:
$dbh = new PDO(...); $sql = "SELECT * FROM users WHERE username = :u"; $query = $dbh->prepare($sql); $params = array(":u" => $_POST['username']); $query->execute($params); $results = $query->fetchAll(); if (count($results) > 0) { $firstrow = $results[0]; if (password_verify($_POST['password'], $firstrow['password'])) { // 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); // Hash password $stmt = $dbh->prepare("insert into users set username=?, email=?, password=?"); $stmt->execute([$username, $email, $hash]);
password_compat や phpass などのライブラリは、パスワード ハッシュを簡素化し、正しいソルト生成を保証し、セキュリティの脆弱性を軽減します。
パスワード ハッシュを PDO コードに統合することで、アプリケーションのセキュリティを大幅に強化し、ユーザーの資格情報を不正アクセスから保護します。
以上がPDO とパスワード ハッシュによってデータベースのセキュリティはどのように強化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。