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
Kombination von Benutzername und Passwort auf Gültigkeit Prüfen
#1
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 (:
Zitieren
#2
Erstmal stellt sich die Frage, ob du von dem anderen Server überhaupt auf die Datenbank vom Forum zugreifen kannst.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
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).

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.
Zitieren
#4
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
Zitieren
#5
Kleine Korrektur: Ich hatte oben eine Klammer vergessen. So ists richtig:
PHP-Code:
$passhash md5(md5("salt").md5("passwort")); 

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.
Zitieren
#6
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!
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  PHP mehrere Felder prüfen sebastian3288 4 2.801 07.03.2010, 17:58
Letzter Beitrag: sebastian3288
  Prüfen ob ein Plugin aktiv ist Jan 3 2.046 14.01.2010, 21:12
Letzter Beitrag: Jan