sql >> データベース >  >> RDS >> Mysql

ユーザーの資格情報を検証するのに適した方法はどれですか?

    重要なのは… 塩漬け、ハッシュ化を保存することになっています パスワード データベース内。これらは個別に塩漬けされているので ユーザー/パスワードごとに、できません password = ?で直接検索してください 、ソルトがわからないため、一致するハッシュを事前に計算できないためです。これを適切に行っている場合は、必須 最初にユーザー名でユーザーレコードをフェッチしてから、取得したソルト/ハッシュを使用してパスワードハッシュを検証します。擬似コード:

    $user = fetch_from_database($_POST['username']);
    
    if (!$user) {
        throw new Exception("User doesn't exist");
    }
    
    if (!password_verify($_POST['password'], $user['password_hash'])) {
        throw new Exception('Invalid password');
    }
    
    echo 'Welcome ', $user['name'];
    

    http://php.net/password_hash を参照してください。 、 http://php.net/password_verify



    1. SQLのタイムスタンプから、今日、昨日、今週、今月、および2つの日付の間のレコードを選択しますphp mysql

    2. 月別のLaravelカーボングループ

    3. MySQLのデータベース内のすべてのテーブルのDDLを生成する方法

    4. メディアファイルをデータベースに保存するための最良の方法は何ですか?