ホームページ  >  記事  >  バックエンド開発  >  パスワード検証をログイン スクリプトのどこに配置する必要がありますか?

パスワード検証をログイン スクリプトのどこに配置する必要がありますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-25 02:11:13293ブラウズ

Where Should Password Verification Be Placed in a Login Script?

ログイン スクリプトでパスワード検証を統合する場所

ログイン スクリプトでは、通常、パスワードはユーザーによって入力され、クリア テキスト変数に保存されます。入力したパスワードをデータベースに保存されている暗号化されたパスワードと照合するには、password_verify() を使用する必要があります。

if(password_verify($enteredPassword, $hashedPassword)) {
    // Password verification successful
} else {
    // Password verification failed
}

ログイン スクリプトにパスワード検証を統合する

特定のケースでは、次のコードセグメントにpassword_verify()を組み込むことができます:

if(($row = $query->fetch()) && (password_verify($ctPassword,$row['password']))){
    // Password verification successful
    $_SESSION['email'] = $row['email'];
    $_SESSION['first_name'] = $row['first_name'];

入力されたパスワードを忘れずにバインドしてください($ctPassword) をプリペアド ステートメントのパラメータに追加して、安全な実行を確保します。

ユーザー データの取得に PDO::FETCH_ASSOC を使用する

PDO::FETCH_ASSOC を使用してユーザー データをより効率的に取得するには、次のようにします。次のようにコードを更新できます:

$results = $query->fetch(PDO::FETCH_ASSOC);
if($results && password_verify($ctPassword, $results['password'])) {
    foreach($results as $key => $value) {
        $_SESSION[$key] = $value;
    }
}

これにより、取得されたすべての値がセッションとして自動的に割り当てられます。変数を使用すると、[マイ アカウント] ページでユーザーの詳細に簡単にアクセスできるようになります。

以上がパスワード検証をログイン スクリプトのどこに配置する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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