2016-07-19 11 views
-2

スクリプトでパスワードハッシュが正しく機能していません。パスワードのハッシュと検証が正しく機能しない

ここに私の統合:私はそれを確認する方法

register.php

$password = password_hash(md5(sha1($_POST['password']) . $salt), PASSWORD_DEFAULT); 

そして、ここで:

Login.php

$password = md5(sha1($_POST['password']) . $salt); 

    $check = $mysqli->query("SELECT password FROM accounts WHERE email = '$email'"); 
    $passw_hash = $check->fetch_assoc(); 
    if (password_verify($password, $passw_hash["password"])) { 
     // LOGIN SUCCESSFULLY 
    } 

私のPHPのバージョン:5.5

それとも、暗号化するために他の方法を持っている場合、パスワードは私に知らせてください。

UPDATE

1- VARCHARからVARCHAR(250)に変更されたパスワードのカラムサイズ(60)

2- MD5、SHA1、及びに対するパスワードを保護するためのコードをクリーニングなど他のすべての暗号化を削除SQLインジェクション。ハッシュされたパスワードの

例:

純粋なテキスト:ハッシュされgoogle

$2y$10$0Bd5Uv09Jg50QZZ4Iz7F2.WGV3MpYkScg9vuTONWmUCMYPJ3qDukC

私はmysqliのを使用してプリペアドステートメントと私のデータベースに新しいメンバーを挿入します。

 $st = $mysqli->prepare(" 
            INSERT INTO 
             accounts(
              username, 
              password, 
              date 
             ) VALUES (
              ?, 
              ?, 
              ? 
             )"); 
     $st->bind_param('sss', $username, $password, $date); 
     $st->execute(); 

答えて

4

password_hash()を使用しているので、追加のハッシュを使用したくないので、md5()sha1()関数を削除してください。

$password = password_hash($_POST['password'], PASSWORD_DEFAULT); 

さらに、ログインから機能を削除します。

$password = $_POST['password']; 

あなたは要素password_hash()password_verify()を破壊している他の機能は自分の仕事に必要な追加することによって。 2つの追加のハッシュメカニズムを追加することで、ハッシュを安全にすることもできません。

あなたはdon't escape passwordsまたはハッシュする前に、それらの他のクレンジング・メカニズムを使用していることを確認してください。そうするとはパスワードをに変更し、不要な追加のコーディングを引き起こします。さらにLittle Bobby


your script is at risk for SQL Injection Attacks.MySQLipreparedステートメントを学び言います。でもescaping the stringは安全ではありません! Don't believe it?

+0

こんにちは、まだ解決されていない、私はあなたのように言った。 –

+0

「解決されていない」とはどういう意味ですか?ここで重要なのは、password_hash()が非常に長いテキストを生成できることです(現在のデフォルトは60文字です)ので、フィールドを大きくすると必要な長さが許されます。次に、PHPチームはメソッドにアルゴリズムを追加しています。これは、ハッシュが成長し、成長することを意味します。また、ユーザーのパスワードやパスフレーズの使用を制限したくない場合もあります。変更の余地を残すことが最善です。パスワードを格納するデータベースの列のサイズはどれくらいですか? –

+0

私のサイズはVARCHAR(60) –

関連する問題