2012-04-11 8 views
0

これは私のコードですが、パスワードを除いて動作します。どうすれば修正できますか?私はmd5で何かすべきことは知っていますが、自分のコードで動作する解決策を見つけることができませんでした。私は本当にこの権利と安全を確認する必要があり、事前AJAXログイン:パスワードを確認し、md5を使用するにはどうすればいいですか

すべての

答えて

0

MD5は古くなっており、もはや十分なパスワード暗号化の方法ではありません。より現代的な暗号化アルゴリズムを使用して、塩漬けされたハッシュを調べるべきです。思考のための

食べ物: bcrypt

+0

こんにちは、私はjoomla 2.5を使用しています、彼らは実際に塩漬けのハッシュを(ちょうど見つかった)使用します。これを動作させるために私のコードをどのように変更しますか? –

+0

私は@Daveに同意しますが、MD5アルゴリズムはもはや安全とはみなされません。次のリンクを参照してください:http://www.php.net/manual/en/faq.passwords.php#faq.passwords.fasthash –

+0

あなたはPHP APIを使用しないことを決めた理由はありますか? http://api.joomla.org/ – Dave

0

まずにおける

   //get the posted values 
    $username=htmlspecialchars($_POST['user_name'],ENT_QUOTES); 
    $password=htmlspecialchars($_POST['password'],ENT_QUOTES); 

    $check_for_username = $mysqli->query("SELECT username FROM q4jli_users WHERE username='$username' AND password=MD5('$password')"); 
    if (mysqli_num_rows($check_for_username)) {  
     echo "yes"; 

    } else { 
     echo "no";                   
    } 

感謝を支援してください、あなたは、ユーザーのパスワードはMD5を使用してデータベースに暗号化されていることを確認する必要があります。ユーザーが正しいパスワードを入力した場合、あなたはMD5にそれを暗号化し、データベースにクエリを実行する必要が見たときに、その後

$mysqli->query("INSERT INTO q4jli_users (username, password) VALUES ('$username', MD5('$password'))"); 

$check_for_username = $mysqli->query("SELECT username FROM q4jli_users WHERE username='$username' AND password=MD5('$password')"); 
ない場合は、このコードを使用することができます
+0

こんにちは、あなたの答えのためのおかげで、私は自分のコードを更新しましたが、それはまだ動作しません。私はちょうどjoomla 2.5が塩漬けされたハッシュを使用していることを発見しました、あなたはこのコードに今どのようにアプローチしますか? –