Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
[Gelöst]User nutzen
#1
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?

#2
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
Ich gebe keinen Support per Messenger oder PN!
#3
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'])); 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#4
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?

#5
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"))."'"
Ich gebe keinen Support per Messenger oder PN!
#6
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';} 

#7
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
Ich gebe keinen Support per Messenger oder PN!
#8
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?

#9
Ich denke, da sollte dir dieses Thema ein wenig weiterhelfen können:
https://www.mybb.de/forum/showthread.php...73#pid4073

Mfg Garlant
Ich gebe keinen Support per Messenger oder PN!