Lösenordskonvertering
Moderatorer: Moderatorgrupp, Supportgrupp
Här kan du ställa frågor om problem med och drift av phpBB 3 (3.0.0 eller senare). Det är här du bör skapa en tråd om du har ett problem, vill ställa en fråga och vill ha ett svar. Gäller det något annat, var vänlig bläddra nedåt på forumindex.
Klicka här för att se våra allmänna forumregler.
Lösenordskonvertering
Jag försökte komma på nåt sätt så man skulle slippa det, så jag testade att kopiera över MD5-summorna i phpbb_users från phpBB2-databasen till phpBB3-databasen. För min del gick det fint att logga in efteråt, men moderatorerna på mitt forum kunde det inte. Av någon anledning var user_pass_convert = 0 för mig men 1 för dem. Beror det på att jag är founder, eller att jag är admin?
Att sätta user_pass_convert till 0 för dem verkade lösa problemet. Men så testade jag med ett nick med lösenordet åäö och fick återigen beskedet att konverteringen av mitt lösenord misslyckats och att jag skulle uppge nick och mailadress.
Läste på Area51 om hur man kunde få lösenord med grekiska bokstäver att fungera efter en konvertering:
http://area51.phpbb.com/phpBB/viewtopic.php?f=3&t=28328
Jag antar att man kan göra på samma sätt när det gäller lösenord som innehåller åäö.
Så min fråga är hur jag skall göra transformeringsfunktionen?
Öppna includes/auth/auth_db.php
Leta upp
Kod: Markera allt
if (md5($password_old_format) == $row['user_password'] || md5(utf8_to_cp1252($password_old_format)) == $row['user_password'])Kod: Markera allt
if (md5($password_old_format) == $row['user_password'] || md5(utf8_to_swe($password_old_format)) == $row['user_password'] || md5(utf8_to_cp1252($password_old_format)) == $row['user_password'])Leta upp
Kod: Markera allt
?>Kod: Markera allt
function utf8_to_swe($string)
{
static $transform = array(
"\xC3\xA5" => "\xE5",
"\xC3\xA4" => "\xE4",
"\xC3\xB6" => "\xF6",
"\xC3\x85" => "\xC5",
"\xC3\x84" => "\xC4",
"\xC3\x96" => "\xD6"
);
return strtr($string, $transform);
}
Kom ihåg att ta backup på allt möjligt innan.
/D
The Complete phpBB Template Design Guide (phpBB 2.x): http://archive.jakob-persson.com/articl ... index.html
- John Hjorth
- Extra aktiv medlem

- Inlägg: 195
- Blev medlem: 2006-01-13 03:03
- Kontakt:
- John Hjorth
- Extra aktiv medlem

- Inlägg: 195
- Blev medlem: 2006-01-13 03:03
- Kontakt:
Re: Lösenordskonvertering
Det var visst inte teamleadern men en ur utvecklingsgruppen var det och han borde veta.ErikJ skrev:Läste på Area51 om hur man kunde få lösenord med grekiska bokstäver att fungera efter en konvertering:
http://area51.phpbb.com/phpBB/viewtopic.php?f=3&t=28328
/J
- John Hjorth
- Extra aktiv medlem

- Inlägg: 195
- Blev medlem: 2006-01-13 03:03
- Kontakt:
När jag konverterar mellan forumsystem brukar jag strunta i att försöka ta med lösenorden. Istället gör jag ett skript som autogenererar nya lösenord till alla användare. Sen mailas det nya lösenordet till adressen dom har angett när dom reggade och dom uppmanas att logga in och byta lösenord.
/J
Kod: Markera allt
// in phpBB2 passwords were used exactly as they were sent, with addslashes applied
$password_old_format = isset($_REQUEST['password']) ? (string) $_REQUEST['password'] : '';
$password_old_format = (!STRIP) ? addslashes($password_old_format) : $password_old_format;
$password_new_format = '';
set_var($password_new_format, stripslashes($password_old_format), 'string');
if ($password == $password_new_format)
{Raden i IF-satsen är på rätt plats tror jag. Jag har iofs inte hunnit titta på den igen än, men jag tror att felet är i själva konverteringen. Ska försöka få tid till det under veckan.
phpBB2 sparade ner lösenordet som den kom från den som reggade in. phpBB3 decodar den från UTF8 innan den sparas eller kollas.
/J
Vilka är online
Användare som besöker denna kategori: 10 och 0 gäster



