Umstellung auf phpBB3, Login für Webseite
Umstellung auf phpBB3, Login für Webseite
Hallo,
ich bin dabei mein Forum das seit sehr vielen Jahren online ist auf PhpBB umzustellen, die Konvertierung hat so weit auch geklappt. Allerdings habe ich nun das Problem das mein Login auf der Hauptseite nicht mehr funktioniert. Ich nutze die PHPBB Datenbank seit Jahren auch für die Webseite und habe dort beim Login immer überprüft ob User die richtigen Daten aus der Forendatenbank eingeben, es fand dabei kein direktes externes Login ins Forum statt sondern nur auf interne Bereiche der Webseite. Für das Forum mussten die User sich noch mal neu anmelden, das ist zwar etwas umständlich aber genauso gewollt, da User das Forum erst nach einer gewissen Zeit nutzen können usw.
Ich habe schon gesehen das das Passwort nun anders verschlüsselt wird, doch wie kann nun überprüfen ob User das richtige Passwort eingegeben haben?
Ich benötige also wirklich nur die Passwortüberprüfung, kein Login ins Forum.
Bin sehr froh wenn ihr mir da weiterhelfen könnt.
Vielen Dank!
Liebe Grüße, Sandra
ich bin dabei mein Forum das seit sehr vielen Jahren online ist auf PhpBB umzustellen, die Konvertierung hat so weit auch geklappt. Allerdings habe ich nun das Problem das mein Login auf der Hauptseite nicht mehr funktioniert. Ich nutze die PHPBB Datenbank seit Jahren auch für die Webseite und habe dort beim Login immer überprüft ob User die richtigen Daten aus der Forendatenbank eingeben, es fand dabei kein direktes externes Login ins Forum statt sondern nur auf interne Bereiche der Webseite. Für das Forum mussten die User sich noch mal neu anmelden, das ist zwar etwas umständlich aber genauso gewollt, da User das Forum erst nach einer gewissen Zeit nutzen können usw.
Ich habe schon gesehen das das Passwort nun anders verschlüsselt wird, doch wie kann nun überprüfen ob User das richtige Passwort eingegeben haben?
Ich benötige also wirklich nur die Passwortüberprüfung, kein Login ins Forum.
Bin sehr froh wenn ihr mir da weiterhelfen könnt.
Vielen Dank!
Liebe Grüße, Sandra
Re: Umstellung auf phpBB3, Login für Webseite
Schau Dir mal die Funktion phpbb_hash() in der /includes/functions.php an.
Du brauchst dann nur das Passwort da durchjagen und vergleichen, ob das verschlüsselte Passwort in der DB mit dem Rückgabewert der Funktion übereinstimmt.
Du brauchst dann nur das Passwort da durchjagen und vergleichen, ob das verschlüsselte Passwort in der DB mit dem Rückgabewert der Funktion übereinstimmt.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
Re: Umstellung auf phpBB3, Login für Webseite
Hallo,
dankeschön! Ich hab es nun so gelöst:
Das geht auch, allerdings nur wenn das man sich vorher einmal im Forum eingeloggt hat und das Passwort von dort in das neue Format konvertiert wurde. Ansonsten kommt hier falsches Passwort. Wie muss die Abfrage sein wenn das Passwort noch nicht konvertiert wurde? Ich weiß das das Datenbankfeld user_pass_convert auf 1 steht, aber wie ist das Passwort dann verschlüsselt? MD5 scheint es nicht zu sein, oder doch?
Danke für die Hilfe.
Alles Liebe, Sandra
dankeschön! Ich hab es nun so gelöst:
Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'phpBB3/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
$username = request_var('name', '', true);
$passwort = request_var('passwort', '', true);
$m=mysql_fetch_array(mysql_query("SELECT * FROM phpbb3_users WHERE username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'"));
if (!phpbb_check_hash($passwort,$m['user_password']))
{
echo "Passwort falsch";
}
else
{
#echo "ok passwort";
}
Danke für die Hilfe.
Alles Liebe, Sandra
Re: Umstellung auf phpBB3, Login für Webseite
phpBB hatte vor der neuen Verschlüsselung ein Md5 codiertes Passwort in der DB.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
Re: Umstellung auf phpBB3, Login für Webseite
Ja, das ist mir bekannt, aber wenn ich das PhpBB2 Forum in PHPBB3 Forum konvertiere und mich NOCH NICHT über das Forum einlogge, werden die Passwörter anders dort gespeichert, es ist ein anderer Schlüssel als in PHPBB2 Forum und noch nicht der gleiche Schlüssel als wenn ich mich über das Forum das erste mal einlogge.
Liebe Grüße, Sandra
Liebe Grüße, Sandra
Re: Umstellung auf phpBB3, Login für Webseite
Hallo,
ok ich habe die Lösung gefunden. Danke für deine Hilfe. Hier der Code für alle die vor dem selben Problem stehen.
Wenn User sich auf der Seite einloggen möchten, das Passwort aber noch nicht im richtigen Format ist kommt folgender Code zum tragen:
Danach klappt die im oben stehenden Beitrag Abfrage wunderbar.
Viele Grüße, Sandra
ok ich habe die Lösung gefunden. Danke für deine Hilfe. Hier der Code für alle die vor dem selben Problem stehen.
Wenn User sich auf der Seite einloggen möchten, das Passwort aber noch nicht im richtigen Format ist kommt folgender Code zum tragen:
Code: Alles auswählen
if($m['user_pass_convert']=="1")
{
$password_old_format = isset($_REQUEST['passwort']) ? (string) $_REQUEST['passwort'] : '';
$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)
{
if (!function_exists('utf8_to_cp1252'))
{
global $phpbb_root_path, $phpEx;
include($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx);
}
// cp1252 is phpBB2's default encoding, characters outside ASCII range might work when converted into that encoding
// plain md5 support left in for conversions from other systems.
if ((strlen($row['user_password']) == 34 && (phpbb_check_hash(md5($password_old_format), $row['user_password']) || phpbb_check_hash(md5(utf8_to_cp1252($password_old_format)), $row['user_password'])))
|| (strlen($row['user_password']) == 32 && (md5($password_old_format) == $row['user_password'] || md5(utf8_to_cp1252($password_old_format)) == $row['user_password'])))
{
$hash = phpbb_hash($password_new_format);
// Update the password in the users table to the new format and remove user_pass_convert flag
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_password = \'' . $db->sql_escape($hash) . '\',
user_pass_convert = 0
WHERE user_id = ' . $row['user_id'];
$db->sql_query($sql);
$row['user_pass_convert'] = 0;
$row['user_password'] = $hash;
}}
Viele Grüße, Sandra
Re: Umstellung auf phpBB3, Login für Webseite
Hallo,
leider habe ich doch ein Problem entdeckt, wenn ein User in dem Usernamen oder Passwort ein Umlaut hat funktioniert das Script nicht.
Die Variablen sind dann leer, und wenn ich sie mit $username=$_POST['name'] abrufe sind sie zwar gefüllt doch die Abfrage klappt dennoch nicht. Es kommt immer das die Daten falsch sind obwohl sie definitiv richtig eingegeben sind.
Weiß da jemand einen Rat?
Danke!
Alles Liebe, Sandra
leider habe ich doch ein Problem entdeckt, wenn ein User in dem Usernamen oder Passwort ein Umlaut hat funktioniert das Script nicht.
Die Variablen sind dann leer, und wenn ich sie mit $username=$_POST['name'] abrufe sind sie zwar gefüllt doch die Abfrage klappt dennoch nicht. Es kommt immer das die Daten falsch sind obwohl sie definitiv richtig eingegeben sind.
Weiß da jemand einen Rat?
Danke!
Alles Liebe, Sandra
Re: Umstellung auf phpBB3, Login für Webseite
Schon gelesen? Klick
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
Re: Umstellung auf phpBB3, Login für Webseite
Hallo,
danke für den Link, habe es nun so umgesetzt und das Login funktioniert nun auch mit Umlauten. Musste dazu alle meine Seiten auf UTF-8 und die Datenbank auf mysql5 umstellen, das war ein sehr großer Aufwand weil der Lichtweg über 100 Seiten hat.
Danke für die Hilfe!
Alles Liebe, Sandra
danke für den Link, habe es nun so umgesetzt und das Login funktioniert nun auch mit Umlauten. Musste dazu alle meine Seiten auf UTF-8 und die Datenbank auf mysql5 umstellen, das war ein sehr großer Aufwand weil der Lichtweg über 100 Seiten hat.

Danke für die Hilfe!
Alles Liebe, Sandra