パスワード セキュリティによるユーザー認証の最適化
ログイン スクリプトを実装する場合、適切なパスワード処理技術を採用してデータ セキュリティを確保することが重要です。この記事では、ログイン スクリプトでのpassword_verify の配置について説明し、ログインの詳細を処理するためのより効率的なアプローチを提供します。
1.ログインスクリプトへのpassword_verifyの統合
ユーザーのパスワードを安全に検証するには、password_verifyをログインプロセスに組み込む必要があります。更新されたコードは次のようになります。
if ($row = $query->fetch()) { if (password_verify($_POST['password'], $row['password'])) { $_SESSION['email'] = $row['email']; $_SESSION['first_name'] = $row['first_name']; header("Location: ../../myaccount/myaccount.php"); } else { header("Location:../../login/login.php "); } }
このコードは、データベース内のハッシュされたパスワードとユーザーが入力したプレーン テキストのパスワードを比較します。それらが一致する場合、ログインは成功します。それ以外の場合、ログインは拒否されます。
2. $results = $stmt->fetch(PDO::FETCH_ASSOC);
を使用したユーザー詳細処理の合理化 「マイ アカウント」ページでユーザー詳細を効率的に取得して表示するには、フェッチを利用できます。 (PDO::FETCH_ASSOC) メソッド。このメソッドは、データの次の行をフェッチし、列名をキーとして持つ連想配列を返します。以下に例を示します。
$stmt = $conn->prepare("SELECT email, first_name, last_name FROM user_accounts WHERE email=:email"); $stmt->bindParam(':email', $_SESSION['email']); $stmt->execute(); $results = $stmt->fetch(PDO::FETCH_ASSOC); $_SESSION['email'] = $results['email']; $_SESSION['first_name'] = $results['first_name']; $_SESSION['last_name'] = $results['last_name'];
このアプローチにより、ユーザーの詳細の取得と処理が大幅に簡素化され、複数の $_SESSION['xxx'] = $row['xxx']; の必要がなくなります。ステートメント。
以上がログイン スクリプトでユーザー認証を安全に実装して最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。