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

MySQLデータとハッシュ化されたパスワードを使用したPHPログイン

    MD5を使用したり、パスワードを復号化しようとしたりするのではなく(ここで他の人が示唆しているように)、PHPのネイティブの password_hash() パスワードが正しいかどうかを自動的にチェックする機能。

    次のようにパスワードを暗号化します:

    $unencrypted_password = 'secret!'; 
    $encrypted_password = password_hash($unencrypted_password,  PASSWORD_DEFAULT);
    

    次に、次のようにDBに挿入します:

    INSERT INTO users (encrypted_password, username) VALUES ($encrypted_password, $username);
    

    パスワードが正しいかどうかを確認する場合は、データベースから次のコマンドを使用してパスワードを選択します。

    SELECT encrypted_password FROM users WHERE username = $username;

    最後に、 passoword_verify() を使用して、パスワードが正しいことを確認します。 :

    $correct = password_verify($unecnrypted_password, $encrypted_password);
    if($correct == true) {
        echo 'correct password!';
    } else {
        echo 'password incorrect!';
    }
    

    上記のコードはSQLインジェクションに対して脆弱であるため、SQLインジェクションから保護するように注意してください。



    1. mysql SELECT * WHERE value =$ row ['item']

    2. PHPMysqlを使用してフォームから日付を挿入する

    3. 2つのクエリの合計

    4. ハウツー:Grails 3.0.2 + Oracle Database 12c?