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

PHP5.5のpassword_hashおよびpassword_verify関数を使用する

    今のところデータベースステートメントの問題を無視して、password_hashに関する質問に答えます。 。

    要するに、いや、それはあなたがそれをする方法ではありません。ソルトを単独で保存するのではなく、ハッシュとソルトの両方を保存してから、両方を使用してパスワードを確認する必要があります。 password_hash 両方を含む文字列を返します。

    password_hash 関数は、ハッシュとソルトの両方を含む文字列を返します。だから:

    $hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
    // Insert $hashAndSalt into database against user
    

    次に確認します:

    // Fetch hash+salt from database, place in $hashAndSalt variable
    // and then to verify $password:
    if (password_verify($password, $hashAndSalt)) {
       // Verified
    }
    

    さらに、コメントが示唆しているように、セキュリティに興味がある場合は、mysqliを確認することをお勧めします。 (ext/mysql PHP5.5では非推奨です)、およびSQLインジェクションに関するこの記事: http://php.net/manual/en/security.database.sql-injection.php



    1. SQLの日付形式

    2. MySQLオフセット無限行

    3. sqlalchemyで警告をオフにします

    4. MS SQL Server 2008のポートを見つける方法は?