ログイン システムのセキュリティを強化するには、ログイン スクリプトでpassword_verify 関数を使用することが重要です。この関数は、送信された平文のパスワード ($_POST['password']) とデータベースに保存されている暗号化されたパスワード ($row['password']) を比較します。これを統合する方法は次のとおりです。
<?php ... // ... Existing code ... if ($row = $query->fetch()) { if (password_verify($_POST['password'], $row['password'])) { // Correct password - authenticated! ... } else { // Incorrect password - display error ... } } ...
password_verify を利用すると、暗号化された形式を明らかにすることなくパスワードを安全に比較でき、ユーザー データの整合性が確保されます。
ユーザー詳細の取得を簡素化するには、PDO::FETCH_ASSOC メソッドを使用できます。キー名が列名に対応する連想配列を返します:
<?php ... $query = $conn->prepare("SELECT * FROM user_accounts WHERE email=:email"); $query->bindParam(':email', $_POST['email']); $query->execute(); $results = $query->fetch(PDO::FETCH_ASSOC); ...
これで、連想キーを使用してユーザー情報に直接アクセスできます:
$_SESSION['email'] = $results['email']; $_SESSION['first_name'] = $results['first_name'];
以上がPHP ログイン スクリプトのどこに「password_verify」を配置すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。