Seite 1 von 1
Login mit phpBB-Daten - Problem seit phpBB3
Verfasst: 10.01.2008 21:50
von CitruX
Ich nutze seit langem ein Login-System das auf den phpBB-Daten baut. Somti loggt man sich mit Username und Passwort des Forum ein. Seit phpBB3 gibt es aber Probleme, anscheinend mit dem Passwort. Was ist das Problem? Meine Vermutung ist eine neue PW-Verschlüsselung. Wenn das so ist, wie umgehe ich das dann?
Verfasst: 11.01.2008 14:52
von Boecki91
Ja in der Tat Passwörter werden neu verschlüsselt. Schau dir mal die functions.php an, soweit ich mich entsinne sind gleich die beiden ersten Funktionen dafür zuständig.
Verfasst: 11.01.2008 15:26
von CitruX
Gut, nur wie kann ich sowas jetzt umgehen?
Verfasst: 11.01.2008 16:50
von Boecki91
Du könntest deinen einlogg-Vorgang ja mit der Funktion zusammen realisieren.
Umgehen geht "nicht".
Verfasst: 11.01.2008 16:54
von CitruX
Das werde ich dann versuchen. Wie kann man den die Daten des phpBB außerhalb des Forums nutzen? Mein Loginsystem ist so aufgeabut
Code: Alles auswählen
if(isset($_POST['username'], $_POST['password']) AND
login_right($_POST['username'], $_POST['password'])) {
$sql = "SELECT username FROM phpbb_users WHERE username = '".$_POST['username']."';";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
$_SESSION['name'] = $row['username'];
}
Code: Alles auswählen
function login_right($name, $pass) {
$sql_user = "SELECT
COUNT(*) as anzahl
FROM
phpbb_users
WHERE
username = '".$name."' AND
user_password = MD5('".$pass."');";
$result_user = mysql_query($sql_user) OR die(mysql_error());
$row_user = mysql_fetch_assoc($result_user);
mysql_free_result($result_user);
return $row_user['anzahl'];
}
Verfasst: 11.01.2008 17:16
von Boecki91
So funktioniert es vermutlich am einfachsten:
Die Prüffunktion ist eigendlich wie die von dir:
Prüfen tust du mit:
$password müsste die Eingabe sein
$hask der Wert aus der DB
Verfasst: 11.01.2008 20:18
von gn#36
Siehe auch
hier oder
hier.
Verfasst: 11.01.2008 20:27
von CitruX
Heißt das ich muss das gesamte System in phpBB einbetten?
Verfasst: 11.01.2008 20:45
von gn#36
Wenn du den Login vollständig nutzen willst ja. Theoretisch kannst du ja von jeder Seite per Link zum Forum wechseln und dann sollte der User auch bei jedem Link eingeloggt sein. Wenn du nur die Daten prüfen willst und der User nicht eingeloggt sein muss, im Forum, dann kannst du natürlich auch lediglich die Loginseite umbauen, prüfen, ob der Login des Users klappt und das dann ansonsten so behandeln wie vorher auch.
Es reicht allerdings wenn du lediglich die Standard-Includes einbaust, bei der Benutzung von Cookies macht das Forum eigentlich den Rest von alleine. Das geht natürlich dann schief wenn dein bisheriger Code inkompatibel ist (z.b. abweichendes Datenbankobjekt mit gleichem Namen oder Verbindung zu einer falschen Datenbank, außerdem könnte bei verschiedenen DBs auch eine gleichzeitige Verwendung von den Core Funktionen ohne Vollständige Parameter evtl. zu Problemen führen). Oder du nimmst die Risiken in Kauf und verfährst gemäß dem Inhalt des ersten von mir verlinkten Themas, so dass du das etwa wie vorher machen kannst.
Verfasst: 11.01.2008 20:49
von CitruX
Was muss bei dem Paramteter $hash hin? Da bin ich gerade ziemlich ratlos... Ich weiß irgendwelche Daten aus der DB, aber welche?