MyBB.de Forum

Normale Version: Kombination von Benutzername und Passwort auf Gültigkeit Prüfen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich stehe vor einem kleinen Problem:
Ich betreue ein MyBB-Forum (welch Wunder Wink ) und zur Zeit arbeiten wir an einem Tippsystem zur EM. Das System soll dabei auf einem anderen Server realisiert werden; allerdings sollen sich nur die Benutzer, die bereits im Forum angemeldet sind dort auch einloggen können.
Für mich läuft dies darauf hinaus, dass ich auf dem Foren-Server ein kleines Script hinterlegen wollte, dass mir für eine gegeben Kombination aus Benutzername und Passwort entweder 0 oder die Email-Adresse des Benutzers zurückliefert.
Dieser Aufruf läuft dabei im Hintergrund bei der ersten Anmeldung. Sind die Daten gültig werden sie in die lokale Datenbank übernommen.

Mein Problem ist nun: Wir kann ich am einfachsten einen Benutzernamen mitsammt Passwort gegen die MyBB-Datenbank prüfen?
MyBB speichert das Passwort ja - wie es sich gehört - mit einem Salt. Nur da ist für mich als gelegenheits PHP-Programmierer schon der Ofen aus Smile

Ich würde mich über Hilfe freuen! Dankeschön (:
Erstmal stellt sich die Frage, ob du von dem anderen Server überhaupt auf die Datenbank vom Forum zugreifen kannst.
Eine direkte Verbindung zur Datenbank ist ja nicht nötig, wenn ein Skript auf dem Server die Anfrage verarbeiten soll. Wink

Der im Feld password hinterlegte Wert setzt sich aus Passwort und Salt folgendermaßen zusammen: md5(md5(salt.md5(passwort)). Das bedeutet, du musst erst den Salt des Benutzers aus der DB holen, zusammen mit dem Passwort verschlüsseln und dann wieder gegen den Eintrag in der DB prüfen. Aus Sicherheitsgründen kannst du das Passwort auch direkt als md5-Hash ans Skript senden (wobei eine Abfrage von Server zu Server natürlich nach Möglichkeit grundsätzlich vermieden werden sollte).
Dragon schrieb:Erstmal stellt sich die Frage, ob du von dem anderen Server überhaupt auf die Datenbank vom Forum zugreifen kannst.
Nein, direkter Zugriff ist nicht möglich und auch nicht erwünscht Wink
Diese Variante ist ja so schon nicht gerade schön...

Michael schrieb:Der im Feld password hinterlegte Wert setzt sich aus Passwort und Salt folgendermaßen zusammen: md5(md5(salt.md5(passwort)).
Dankeschön Smile Die Info fehlte mir Wink


Zitat:Aus Sicherheitsgründen kannst du das Passwort auch direkt als md5-Hash ans Skript senden (wobei eine Abfrage von Server zu Server natürlich nach Möglichkeit grundsätzlich vermieden werden sollte).
Das liegt nahe. Die Server-zu-Server-Abfrage scheint mir aber die einfachste Lösung dem Benutzer ohne Registrierung auf der neuen Seite und ohne Änderung am Forum Zugriff auf die Seite zu geben.
Zu mindest vermeide ich so, dass eine Sicherheitslücke in meiner Software direkt den Foren-Server kompromittiert. Und der "Kleine" ist nicht so wichtig.


Dankeschön auf jeden Fall!
PS: Großes Lob für die schnellen Antworten (:

Grüße,
Chris
Kleine Korrektur: Ich hatte oben eine Klammer vergessen. So ists richtig:
PHP-Code:
$passhash md5(md5("salt").md5("passwort")); 
Huch. Fieser kleiner Fehler Wink
Aber beim Syntaxprüfen wär der ja zum Glück noch aufgefallen.

Es klappt auf jeden Fall.
Dankeschön noch mal!