2012-04-11 15 views
0

das ist mein Code, es funktioniert, außer für die Passwörter, wie würde ich das beheben? Ich weiß, dass ich etwas mit md5 machen sollte, aber ich konnte keine Lösungen finden, um mit meinem Code zu arbeiten. Ich brauche wirklich dieses Recht und sicher zu machen, helfen Sie bitteAJAX Login: Passwort überprüfen, wie man es mit md5 funktioniert

   //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";                   
    } 

Vielen Dank im Voraus

Antwort

0

MD5 ist veraltet und nicht mehr eine ausreichende Methode der Kennwortverschlüsselung. Sie sollten gesalzene Hashes mit moderneren Verschlüsselungsalgorithmen untersuchen.

Denkanstösse: bcrypt

+0

Hallo, Ich benutze Joomla 2.5, sie verwenden tatsächlich gesalzene Hashes (gerade herausgefunden). Wie würdest du meinen Code ändern, um das zu erreichen? –

+0

Ich stimme @Dave zu, MD5-Algorithmus gilt nicht mehr als sicher. Bitte gehen Sie über den folgenden Link: http://www.php.net/manual/en/faq.passwords.php#faq.passwords.fasthash –

+0

Gibt es einen Grund, warum Sie sich entschieden haben, die PHP API nicht zu verwenden? http://api.joomla.org/ – Dave

0

Zunächst einmal müssen Sie sicherstellen, dass das Kennwort eines Benutzers in die Datenbank mit MD5 verschlüsselt. Wenn nicht, dann können Sie diesen Code verwenden:

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

Wenn dann zu sehen, wenn ein Benutzer das richtige Kennwort eingibt, müssen Sie es MD5 verschlüsseln und dann eine Abfrage in der Datenbank ausgeführt:

$check_for_username = $mysqli->query("SELECT username FROM q4jli_users WHERE username='$username' AND password=MD5('$password')"); 
+0

Hallo, danke für deine Antwort, habe ich meinen Code aktualisiert, aber es funktioniert immer noch nicht. Ich habe gerade herausgefunden, dass Joomla 2.5 gesalzene Hashes verwendet, wie würdest du jetzt an diesen Code herangehen? –