Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
kofi

Passwort vergessen / neues PW anfordern

Recommended Posts

Hallo Leute

Ich poste mein Anliegen mal hier rein, da ich davon ausgehe, dass dies ein Problem ist aufgrund meiner Konvertierung von Ikonboard 3.12a zu IPB 1.2.

Hier noch das gleiche Thema, das anfangs 2003 die gleiche Problematik bei IPB 1.1 angesprochen hat: Thema

Bei mir ist nun so, dass sich ein User (Stiffy) nicht einloggen kann. Das neue Passwort im ACP setzen funktioniert nicht. Fehlermeldung "Passwort ist falsch" erscheint. Die Routine über Passwort vergessen läuft zwar gut durch, d. h. ich kann ihm ein neues Passwort geben und werde dann auch gleich eingeloggt als "Stiffy" ins Board geleitet. Wenn ich mich dann auslogge und gleich wieder einlogge mit den neuen Passwort erhalte ich wieder die Fehlermeldung "Passwort ist falsch". Selbst wenn ich dann eingeloggt im Kontrollcenter, das Passwort erneut ändere und dann auslogge, klappt daraufhin ein neues Login nicht (Fehlermeldung). Auch wenn ich beispielsweise via PHPmyAdmin mein verschlüsseltes Adminpasswort bei "Stiffy" einsetzte, komme ich nicht rein. Ich habe dabei meine IPB1.2-Passwort und jenes von Ikonboard3.12a verwendet und bei beiden mich zusätzlich auch mit "index.php?act=ib3" versucht einzuloggen. Daraufhin erhalte ich folgende Fehlermeldung:

mySQL query error: SELECT id, name, mgroup, password, new_pass FROM ipb12_members WHERE LOWER(name)='stiffy'

mySQL error: Unknown column 'new_pass' in 'field list'

mySQL error code:

Date: Wednesday 19th of November 2003 12:34:17 AM

Aufgrund der Fehlermeldung, nehm' ich mal an, dass irgendwo in meiner Datenbank ein Feld fehlt. Bin PHPmyAdmin-Anfänger...

Hat da jemand eine Ahnung??

Gruss kofi

PS: erstes Topic hier, toll!

Edited by kofi

Share this post


Link to post

Sorry, hab das Thema gar nicht gesehen bzw. ist mir irgendwie durch gegangen. :)

Das Problem liegt darin, das die Spalte new_pass in der Tabelle ibf_members seit Version 1.2 nicht mehr existiert. Ich hab mal eben den Quelltext der ib3.php überflogen und die Spalte wird im SQL Statement abgefragt, aber eigentlich gar nicht verwendet. :)

Deswegen geh mal in deine ib3.php und suche folgende Stelle:

$DB->query("SELECT id, name, mgroup, password, new_pass FROM ibf_members WHERE LOWER(name)='$username'");
Ändere diese wie folgt ab:
$DB->query("SELECT id, name, mgroup, password FROM ibf_members WHERE LOWER(name)='$username'");

Nun sollte die Konvertierung funktionieren.

Share this post


Link to post

hallo stefan.

danke für den tipp. ich hab die php-datei geändert und hochgeladen. bekomme jedoch immer "passwort ist falsch".

habe ihm in ikonboard 3.12a ein neues passwort generiert, dieses dann aus der tabelle bei phpmyadmin rauskopiert und dann bei der tabelle in ipb12 wieder eingefügt. weder mit act=ib3 noch normalem login komm ich da rein. es klappt auch nicht, wenn ich in der ipb12-tabelle in in ipb12 generiertes passwort einsetze...

ist da eventl. sein account bei der konvertierung schrott gegangen resp. wurde nicht alles richtig konvertiert?

oder könnte man vielleicht einen anderen member account duplizieren und mit stiffy's daten füttern? bleiben seine posts aber erhalten und werden diese dann korrekt angezeigt???

ich hoffe, dass mir du resp. jemand anderes aus der community helfen kann..

gruss kofi

Share this post


Link to post

Also mach es einfach wie folgt. Schreib dir ein kleines PHP Script, womit du dir ein Passworthash mittels MD5 erstellst.

<?PHP

echo md5('temppass');

?>

Ruf die Datei auf und du erhälst einen Hashwert des Passwortes (in diesem Beispiel e5f0f20b92f7022779015774e90ce917). Dieses speicherst du dann bei dem besagten User als Passwort ab.

Zum Beispiel als SQL Statement:

UPDATE ibf_members SET passwort = 'e5f0f20b92f7022779015774e90ce917' WHERE id = 'X'

Ggf. Prefix nach deinen Bedürfnissen ändern und für X die ID des Users eintragen. Nun sollte sich dein Problemkind ganz normal einloggen können, also nicht mehr über den Konvertierungslogin für ib3 sondern ganz normal.

Share this post


Link to post

ciao stefan.

danke für deine mühe, doch auch dies funktioniert nicht. mit dem skript kann ich ja ein x-beliebiges passwort verschlüsselt generieren und dann entweder mit sql-befehl oder direkt im entsprechenden feld bei stiffy eintragen, oder?

wenn ja funktioniert das ja nach dem selben prinzip wie wenn ich im ACP unter "edit member" dort ein neues passwort setze?!?

auf jeden fall bekomme ich wieder die meldung "passwort ist falsch"

es ist mir immer noch rätselhaft, wieso die passwort vergessen routine funktioniert und ich dann eingeloggt als stiffy ins board komme. logge ich mich aber danach aus und gleich wieder mit dem in der routine eingegeben passwort ein, kommt wieder die besagte fehlermeldung... ?!?

Share this post


Link to post

Also das dürfte eigentlich nicht sein.

Geb ihm mal ein neues Passwort, schau ob es in der Datenbank eingetragen wird und versuch dich dann mal einzuloggen.

Wichtig ist auch, Cookie zu löschen und ggf. mal schauen, ob der User auch in der ibf_sessions noch drin steht. Da dann auch mal entfernen.

Falls das alles nichts bringt, müssen wir vielleicht mal in der Loginroutine ein paar Debugmeldungen setzen, damit man den Fehler einkreisen kann.

Share this post


Link to post

wenn ja funktioniert das ja nach dem selben prinzip wie wenn ich im ACP unter "edit member" dort ein neues passwort setze?!?

auf jeden fall bekomme ich wieder die meldung "passwort ist falsch"

habe ihm in ikonboard 3.12a ein neues passwort generiert, dieses dann aus der tabelle bei phpmyadmin rauskopiert und dann bei der tabelle in ipb12 wieder eingefügt.

Du generierst das Passwort aber nicht über das Ikonboard acp oder?

Das ist, soweit ich mich recht erinnere, zwar auch verschlüsselt, aber kein md5-Hash. Somit ist ein Ikonboard-verschlüsseltes Passwort ein anderes, als ein vom IPB verschlüsseltes.

Mit Stefan's Methode muss es gehen, da das IPB selber ja auch nichts anderes macht.

Share this post


Link to post

@stefan

Geb ihm mal ein neues Passwort, schau ob es in der Datenbank eingetragen wird und versuch dich dann mal einzuloggen.

der verschlüsselungscode ist in beiden fällen der gleiche (passwortvergabe via ACP oder via deinem php-skript bei gleichem passwort). das verschlüsselte passwort wird auch in der datenbank eingetragen. login klappt aber nicht.

Wichtig ist auch, Cookie zu löschen und ggf. mal schauen, ob der User auch in der ibf_sessions noch drin steht. Da dann auch mal entfernen.

cookies gelöscht, ib_sessions kontrolliert. stiffy ist nicht dabei. einzig komisch ist die letzte zeile ganz unten mit folgenden feldern:

id= 23d697ff4c4063d7de691927d14d7f76

member_name= (steht nix...)

member_id= 0

die anderen felder sind ordentlich ausgefüllt, ausser im feld "location" steht:

Login,,01

könnte diese zeile was blockieren?

@christian

Du generierst das Passwort aber nicht über das Ikonboard acp oder?

Das ist, soweit ich mich recht erinnere, zwar auch verschlüsselt, aber kein md5-Hash. Somit ist ein Ikonboard-verschlüsseltes Passwort ein anderes, als ein vom IPB verschlüsseltes.

ich habe beide varianten schon ausprobiert. für ?act=ib3 gehe ich davon aus, dass im passwortfeld des ipb12 noch das verschlüsselte ib3 passwort stehen muss, da das skript ja das ib3 ins ipb12 konvertiert. via ACP des ipb12 hab ich ja vorhin nochmal probiert als ich die verschlüsselung mit stefans skript habe vergleichen wollen... login funzte nicht.

Edited by kofi

Share this post


Link to post

Lösch einfach mal den kompletten Inhalt deiner ibf_sessions und probier es nochmal aus.

TRUNCATE ibf_sessions;

Ansonsten müssen wir wirklich mal ein paar Debugeinträge in deine Login.php setzen. :)

Share this post


Link to post

Such mal innerhalb der Datei Login.php in der Funktion do_log_in() folgende Stelle:

 	 if ($member['password'] != $password)
 {
   $this->log_in_form( 'wrong_pass' );
 }
Darüber setzt mal:
echo "Pass Datenbank: |".$member['password']."|<br/>";
echo "Pass Formular: |".$password."|<br/>";

Und schau mal, ob die beiden Hash Werte zwischen den Zeichen | gleich sind, wenn du dich mit dem User einloggst.

Share this post


Link to post

Das hab ich mir schon gedacht, weil du dich ja auch mit den Usern einloggen kannst. ;)

Wie sieht es denna us, wenn du dich als User "stiffy" einloggst? Sind die Werte dann auch gleich?

Share this post


Link to post

stiffy geht gar nicht.

da kommt ja gleich die meldung "passwort ist falsch".

die einzige möglichkeit, mit stiffy im board zu sein ist mit der passwort-vergessen-routine. auch dort habe ich den hashwert vorher bereits überprüft, als ich vor der routine das passwortfeld via phpmyadmin blanko gemacht habe und dann während der routine ein passwort gesetzt habe, von welchem ich den hashwert kannte. ipb hat dann diesen sauber ins passwortfeld eingetragen. trotzdem, logge ich mich dann mit stiffy aus und anschl. wieder ein, kommt die fehlermeldung...

Share this post


Link to post

Kannst du mir mal Link und Passwort, was im Moment von diesem User in der DB drin, mal per PM schicken, dann schau ich es mir mal an.

Und wenn es bei mir die gleichen komischen Fehlermeldungen auswirft, vielleicht mal heute abend mal zusammen auf Bugsuche gehen.

Share this post


Link to post

Zur Information, das Problem hat sich erledigt und es lag an eine Yapp-Passwort Konvertierung, die irgendwie in der Login.php drin war.

Den entsprechenden Funktionsblock auskommentiert und schon lief alles ohne Probleme. :)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×