Hallo,
ich würde gerne die User vom MyBB nutzen.
Also abfragen ob das Passwort stimmt. Leider klappt es mit
PHP-Code:
$sql = "SELECT
uid,
email
FROM
mybb_users
WHERE
username = '" . trim($_POST['username']) . "'
AND
password = '" . md5(trim($_POST['passwort'])) . "'";
dem hier nicht. Was stimmt noch nicht?
Oder kann man NUR die Nutzerverwaltung des MyBB nutzen? Also Cookie und die Session?
Hallo Jan,
Die Passwörter sind im MD5 Format verschlüsselt (wenn ich mich jetzt nicht täusche). Wenn du das Passwort abfragen möchtest, muss also auch ein MD5-hash erzeugt werden, um das Passwort überprüfen zu können.
Ich hoffe doch, das reicht als Gedankenanstoß.
Mfg Garlant
Das stimmt nicht so ganz. Das MyBB verwendet einen sogenannten Salt, einen Zufallscode, der für höhere Sicherheit sorgt. Zudem wird das Passwort doppelt verschlüsselt. Das Passwort wird in folgender Form in der Datenbank gespeichert:
PHP-Code:
md5(md5("passwort").md5("salt"))
Schau mal in die Datei inc/functions_user.php, dort findest du die Funktion validate_password_from_username. Diese wird beim Login aufgerufen und macht genau das was du vorhast.
PS: Dein oben genannter Code erlaubt SQL-Injektion. Richtig wäre:
PHP-Code:
username = addslashes(trim($_POST['username']));
Jan schrieb:Oder kann man NUR die Nutzerverwaltung des MyBB nutzen? Also Cookie und die Session?
Steht immer noch aus ......
Also muss ich salt erst abfragen mit dem username und dann mittels
PHP-Code:
$sql = "SELECT
uid,
email
FROM
mybb_users
WHERE
username = '" . trim($_POST['username']) . "'
AND
password = '" . md5(md5($_POST['passwort']).md5("salt")) . "'";
Einloggen?
Hallo Jan,
Nein, das ist immernoch nicht vollkommen richtig, bzw. eine riesige Sicherheitslücke!
Michael schrieb:PS: Dein oben genannter Code erlaubt SQL-Injektion. Richtig wäre:
PHP-Code:
username = addslashes(trim($_POST['username']));
Es sollte so aussehen:
PHP-Code:
$sql = "SELECT uid, email FROM mybb_users WHERE username = '".addslashes(trim($_POST['username'])). "' AND password = '".md5(md5($_POST['passwort']).md5("salt"))."'";
Jan schrieb:Jan schrieb:Oder kann man NUR die Nutzerverwaltung des MyBB nutzen? Also Cookie und die Session?
Steht immer noch aus ......
Und wie komme ich an salt ?
// ###########################
PHP-Code:
$PHP-Anfänger = if($user="Jan")
{ $wissen = 'Wenig';
echo 'Ich habe einen Wissensstand von '.$wissen.''; }
else { echo 'PHP Profi';}
Dies ist ein Feld in der usertabelle.
Bitte schaue dir dazu diese Funktion in der
functions_user.php an:
PHP-Code:
function update_password($uid, $password, $salt="")
Der Code sollte dir die Funktionsweise erklären.
Sollten dennoch Verständnisprobleme aufkommen, bitte wieder melden.
Mfg Garlant
Okay, ich werde es heut mal so probieren.
Aber eine Frage noch, wie kann man den Login auf einer eigenen Seite nutzen? Also das Formular so maachen, das man dann wieder auf der eigenen Seite ist ?
Oder ist das Automatisch so?