Seite 1 von 1

phpbb_user Daten weiterverwenden

Verfasst: 23.02.2008 21:55
von bilbo_b
Bis vor ein paar Tagen hatte ich ein phpBB2 am laufen. Ich habe von dort aus der Tabelle phpbb_users den username und user_password gleichzeitig dazu benutzt, das sich die User in meinem CMS anmelden konnten. Sprich: Hat man im CMS das Passwort geändert, wurde es im Forum geändert und hat man es im Forum geändert, war es auch fürs CMS geändert. Dank md5 kein Thema.

Nun nutzt phpBB3 ja leider Gottes ein neues Verfahren zur Passwort Verschlüsselung. Und ich wollte weiterhin das Passwort aus phpbb_users verwenden. Nur kann ich das dort gespeicherte eben nicht mehr mit dem eingegebenen vergleichen.

In phpBB3 gibt es eine Funktion phpbb_hash("text"). Das erzeugt meiner Meinung nach eben diesen Schlüssel. Allerdings bei jedem Durchgang einen anderen. Somit kann ich den Output von dieser Funktion nicht mehr zum Vergleich ranziehen, da der ja immer anderst ist.

Früher war der Code in etwa:

Code: Alles auswählen

$testpasswort = "test";
$gespeichertes_pw = "35480345sfsfd24535"; //irgendwas, kommt aber aus der db
if(md5($testpasswort)==$gespeichertes_pw)
echo "alles ok";
else
echo "dumm gelaufen";
nach der neuen Methode hatte ich mir folgendes gedacht: Per include die nötigen files einbinden und dann dies hier:

Code: Alles auswählen

$testpasswort = "test";
$gespeichertes_pw = "35480345sfsfd24535"; //irgendwas, kommt aber aus der db
if(phpbb_hash($testpasswort)==$gespeichertes_pw)
echo "alles ok";
else
echo "dumm gelaufen";
das funktioniert aber nicht, da phpbb_hash() bei jedem Durchgang etwas neues erzeugt. Oder stell ic mich nur zu blöd an und es müsste immer das selbe sein ? Wer kann helfen ?

Verfasst: 24.02.2008 15:04
von Boecki91
Vielleicht findet sich in der Datei wo phpbb_hash() ist auch noch eine weite Funktion die Passwörter checkt. :wink:

Verfasst: 24.02.2008 18:11
von bilbo_b
Ich habs gefunden, nur kann ich meine Funktion nur nicht direkt nutzen , da in meiner common.php ebenfalls eine Klasse 'template' vorkommt. bei mir funktioniert folgendes:

Code: Alles auswählen

$password = 'versclüsseltes aus DB';
$pw_aus_form = phpbb_hash('eingegebenes PW');
$test = phpbb_check_password($password,$pw_aus_form);
if($test==1)
echo 'test passed';
else
echo 'test failed';
Das klappt , nun ist nur noch das Einbinden zu lösen. Ich muss nur grad mit dem PDA hier schreiben, mein Netzteil im Rechner hat den Geist aufgegeben. Entsculdigt daher meine Schreibfehler.

Verfasst: 24.02.2008 18:56
von Boecki91
Du kannst nun entweder deine CMS Template-Klasse umbennenn, die aus phpBB3 oder du entnimmst die Funktionen aus der Datei und steckst diese seperat irgendwo hin.

Verfasst: 25.02.2008 08:40
von bilbo_b
Ich werde wohl die Funktion übernehmen, hoffentlich habe ich keine Abhängigkeite in andere Funktionen. Sobald mein Netzteil wieder geht, werd ich berichten, ob es geklappt hat.