Beiträge: 167
Themen: 11
Registriert seit: 10.08.2010
Wie ich als Admin an ein neues Pwasswort komme, habe ich schon im Beitrag 72 gesehen.
Wir haben aber über 200 IDs und nicht jede hat eine gültige eMail Adresse. (RPG-Ähnliches Forum).
Da es offenbar keine wirkliche Lösung für das Problem gibt, weiß ich zumindes woran ich bin. Vielleicht kann meine Mitspieler dennoch irgendwie überzeugen zu wechseln. Momentan nutzen wir noch das WBBLite 1.0.2. Ich versuche sie einfach mit einem neuen Theme zu locken
Hab vielen Dank für deine schnelle Antwort.
Helfe wie auch dir geholfen wird.
Beiträge: 161
Themen: 2
Registriert seit: 24.10.2009
MyBB-Version: 1.4.11
Hast du versucht das WBBLite 1.0.2 versucht zu konvertieren?
Ich werde mich hoffentlich demnächst mal dran setzten und den Konverter neu schreiben. Unteranderem um ihn mit der 1.6.x kompatibel zu machen.
Beiträge: 167
Themen: 11
Registriert seit: 10.08.2010
Nein, ich habe erst auf das WBBLite 2.0.1 upgraded und dann konvertiert.
Bisher der beste Weg, den ich gefunden habe. Der Umweg über das SMF klappt zwar auch, aber die Passwörter gehen trotzdem nicht.
Helfe wie auch dir geholfen wird.
Beiträge: 167
Themen: 11
Registriert seit: 10.08.2010
30.09.2011, 11:45
(Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2011, 11:46 von Harest.)
Nachtrag: Nachdem ich eine Nacht geschlafen habe, kam mir die Idee, dass das WBBLite 1.0.2 die Benutzerpasswörter evtl. anders generiert wie das WBBLite 2.0.1 und das Upgrade dies auch nicht ändert.
Habe in der functions.php des WBBLite 1.0.2 folgende Stelle gefunden:
PHP-Code:
function password_generate($numbers=2,$length=8) {
$time = intval(substr(microtime(), 2, 8));
mt_srand($time);
$numberchain="1234567890";
for($i=0;$i<$numbers;$i++) {
$random=mt_rand(0,strlen($numberchain)-1);
$number[intval($numberchain[$random])]=mt_rand(1,9);
$numberchain=str_replace($random,"",$numberchain);
}
$chain = "abcdefghijklmnopqrstuvwxyz";
for($i=0;$i<$length;$i++) {
if($number[$i]) $password.=$number[$i];
else $password.=$chain[mt_rand(0,strlen($chain)-1)];
}
return $password;
}
Zwar kann ich kleinere Dinge in PHP selbst machen, doch diesen Code in seiner Gänze zu verstehen übersteigt meine Fähigkeiten dann doch.
Liese sich damit die functions_user.php des MyBB (1.4 bzw. 1.6) so anpassen, dass man sich mit durch den zitieren Code erstellen Passwörtern einloggen kann?
Helfe wie auch dir geholfen wird.
Beiträge: 161
Themen: 2
Registriert seit: 24.10.2009
MyBB-Version: 1.4.11
30.09.2011, 12:43
(Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2011, 12:46 von Guido Lehne.)
Ich hab mir jetzt mal schnell das Wbb lite 1.0.2 herunter geladen.
So wie du vermutet hast wird dort eine andere Passwortverschlüsselung genommen. Allerdings läuft die anders als in deinem Code.
Im Anhang siehst du eine functions_user.php mit der du es probieren kannst.
Dazu musst du allerdings in deiner Datenbank die bereits neu generierten Passwörter heraus löschen. ( nicht die mit wbb vorne dran).
Ok die Datei kann ich warum auch imemr grad nicht anhängen
Dann eben so:
füge vor
PHP-Code:
if(sha1($user['wbbsalt'].sha1($user['wbbsalt'].sha1($password))) == $user['wbbpassword'])
folgendes ein:
PHP-Code:
if(md5($password) == $user['wbbpassword'])
{
return $user;
}
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
MyBB versteht auch selbst md5($password) ohne Salt, insofern könnte der Konverter das dann gleich so in die password-Spalte der Usertabelle schreiben. Bzw. wenn es da eine eigene Spalte wbbpassword gibt, ein UPDATE mybb_users SET salt='',password=wbbpassword oder sowas in der Art. Das ist jetzt aber wild geraten, ich habe weder selbst konvertiert noch mir den Konverter angeschaut...
Beiträge: 161
Themen: 2
Registriert seit: 24.10.2009
MyBB-Version: 1.4.11
Wie kann Mybb das ungesalzen verstehen? Bisher ist mir da noch nichts zu aufgefallen.
Naja schauen wir uns erstmal an ob es denn auch so funktioniert...
Wenn ich den Konverter dann neu schreibe werde ich mich noch mal genauer mit der Passwort erstellung beschäftigen. Ist ja jetzt auch schon wieder eine Weile her das ich den Konverter geschrieben habe...
Beiträge: 25.761
Themen: 269
Registriert seit: 20.09.2005
30.09.2011, 13:31
(Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2011, 13:41 von StefanT.)
Wenn kein Salt vorhanden ist, wird einfach nur md5($password) verwendet. Der Salt wird dabei dann auch gleich erstellt.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 167
Themen: 11
Registriert seit: 10.08.2010
Ersteinmal vielen Dank für die Mühen.
Habe in der functions_user.php nun folgendes stehen:
PHP-Code:
if(!$user['loginkey'])
{
$user['loginkey'] = generate_loginkey();
$sql_array = array(
"loginkey" => $user['loginkey']
);
$db->update_query("users", $sql_array, "uid = ".$user['uid'], 1);
}
if(salt_password(md5($password), $user['salt']) == $user['password'])
{
return $user;
}
elseif(md5($password) == $user['wbbpassword'])
{
return $user;
}
elseif((sha1($user['wbbsalt'].sha1($user['wbbsalt'].sha1($password)))) == $user['wbbpassword'])
{
$salt = generate_salt();
$newpassword = md5(md5($salt).md5($password));
$update = array("salt"=>"$salt","password"=>"$newpassword");
$db->update_query("users", $update , "uid='$uid'", 1);
return $user;
}
else
{
return false;
}
Verwende die
in diesem Beitrag angehängte datei für das MyBB 1.4.
Einloggen kann ich mich aber immernoch nicht. Habe in der Datenbank die Werte bei password, salt und loginkey gelöscht.
Helfe wie auch dir geholfen wird.
Beiträge: 161
Themen: 2
Registriert seit: 24.10.2009
MyBB-Version: 1.4.11
30.09.2011, 13:41
(Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2011, 13:44 von Guido Lehne.)
Achso ok das war mir derzeit nicht bewusst.
Hmm .. leider kann ich mich grad nicht so sehr damit beschäftigen ich hoffe ich kann am Sonntag mit einer Lösung dienen.