2017-06-11 9 views
0

さ:password_verify機能は、私は、パスワードを暗号化するために使用する機能を8正しい桁のパスワードの後に​​真取得し、他の間違った数字を無視して

$password = crypt($password,"$2sd\$qwsazxcdrgfggfdfsdsd"); 

パスワードをパスワードと一致する機能を確認します。ここ

while($row = $result->fetch_assoc()){ 
    if($row["email"] === $username && password_verify($password,$row["password"])){ 
     $message .= "Logging Success!"; 

     $userFound = true; 
     $_SESSION["email"]=$row["email"]; 
     $_SESSION["fullname"] = $row["full_name"]; 
     header('Location: view_contact.php'); 
     exit; 
    }else{ 
     $userFound = false; 
    } 
} 

問題私がパスワードを入力すると、です。私は8桁の正しい桁のパスワードを入力するだけでログインでき、他の桁は無視されます。

+4

はpassword_hash()関数の代わりに、暗号 – Juned

+1

@OGenthe password_verify()を使用してPHPの一部ですが、質問者は、パスワードをハッシュし、間違ってそれらをチェックしています。 – Juned

+0

@Junedこれをクリアしてくれてありがとう。私は私のばかげたコメントを削除しました。 –

答えて

1

てみてください、あなただけの暗号を使用する場合代わりにcrypt

+0

これは魅力的に機能しました。私はこの文を使った: $ password = password_hash($ password、PASSWORD_BCRYPT);それがセキュリティの面で効果的な方法であるかどうかを尋ねるもう1つのこと。 – Ohid

+1

'password_hash'と 'password_verify'は安全で、PHPのベストプラクティスです。 – zaph

-1

password_hash($password, PASSWORD_DEFAULT) 

を使用するには、()、あなたは確かに最初の8つの文字を見て廃止された56ビットDESベースのアルゴリズムを選択します。

Saltとして「$ 5 $ ....」または「$ 6 $ ...」を使用して、256ビットまたは512ビットのSHA2ベースのアルゴリズムを選択します。

を参照してくださいLinuxで「男3のcrypt」またはhttps://en.wikipedia.org/wiki/Crypt_(C)またはhttp://php.net/manual/de/function.crypt.php

関連する問題