Hi zusammen,
Ich hoffe ich bin hier im richtigen Thread. Ich habe die gesamte Registrierungs-Routine des phpBB in den Registrierungs-Prozess einer bestehenden Seite integriert.
Klappt soweit auch wunderbar allerdings müssen sich die User derzeit zwei mal einloggen (einmal auf der Seite und dann nochmals im Forum).
Um mit dem "normalen" Login auch gleichzeitig die Session für das Forum anzulegen gibt es hier ne gute Doku, an die ich mich gehalten habe: http://www.phpbb.de/doku/kb/integration
Aber: Klappt nicht.
Die Einträge werden passend generiert, die SID wird beim Aufruf des Forums übergeben und dennoch ist man nicht eingeloggt.
Sieht nach dem Login beispielsweise so aus:
Datensatz in der Tabelle phpbb_sessions:
session_id=dc4da8c44c0b7ea4fe4a115084ae16e9
session_user_id=1
session_start=1153480286
session_time=1153480286
session_ip=51df95aa
session_page=0
session_logged_in=1
session_admin=0
Der Aufruf des Forum dazu lautet folgendermaßen:
http://www.kopfgeld.at/forum/index.php? ... 5084ae16e9
Und dennoch ist man im Forum dann nicht angemeldet... Und ich hab keinen Tau warum.
Ich verwende die Version 2.0.19 und habe auch die Tabelle phpbb_sessions_keys gesehen. Keine Ahnung ob die damit etwas zu tun hat.
Ich hoffe hier hat irgendjemand eine Idee oder einen Tipp für mich.. Ist sicherlich nur eine Kleinigkeit..
Danke vorweg & Ciao,
Mike
Problem bei phpBB Login Integration
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
- Mitglied
- Beiträge: 9
- Registriert: 12.04.2007 14:37
Problemlösung?
hat schon jemand eine Lösung für das Problem?
Stehe auch davor und hab echt keinen Plan wies weitergeht!
Hab das Login auf meiner externen Seite eingebaut und auch die benötigten php- Includes eingetragen, sowie alle variablen abgefragt und so weiter
aber ich bekomme es nicht hin wenn ich mich z.B. extern einlogge und dann ins forum wechsle dass ich mich im forum nicht nocheinmal extra einloggen muss!
Gibt es hier irgend einen trick mit dem man die variablen übergeben kann oder redirects machen kann??
bitte um antworten
lg
tschortschi
Stehe auch davor und hab echt keinen Plan wies weitergeht!
Hab das Login auf meiner externen Seite eingebaut und auch die benötigten php- Includes eingetragen, sowie alle variablen abgefragt und so weiter
aber ich bekomme es nicht hin wenn ich mich z.B. extern einlogge und dann ins forum wechsle dass ich mich im forum nicht nocheinmal extra einloggen muss!
Gibt es hier irgend einen trick mit dem man die variablen übergeben kann oder redirects machen kann??
bitte um antworten

lg
tschortschi

Ich hatte mit demselben Problem lange und ergebnislos gekämpft, irgendwo habe ich dann gelesen, dass es daran liegt, dass Sessions nicht in eine andere Domain übergeben werden können. Und das Forum läuft meistens nicht unter derselben Adresse wie die Homepage, sondern oft mit homepage/forum oder so.
Ich habe das daher letztenendes anders gelöst.
Ich übergebe aus der Homepage über eine Form zwei Werte: user_id und user_pw (aber schon das verschlüsselte, nicht in Klartext) an eine Seite im Forumverzeichnis, die ich selbst erstellt habe (wechsel.php).
Diese Seite prüft in der Datenbank, ob die user_id und user_pw zusammen passen und meldet bei Erfolg den User an (startet Session).
Hier ist der Code für die wechsel.php:
und hier ist der Code für die Form zum Wechseln ins Forum:
Damit funktioniert der Wechsel von der Homepage zum Forum problemlos.
Der Wechsel mit SID wäre wahrscheinlich sicherer, funktioniert nur leider nicht (zumindest habe ich hier im Forum nur negative Äußerungen gelesen).
StanleyG
Ich habe das daher letztenendes anders gelöst.
Ich übergebe aus der Homepage über eine Form zwei Werte: user_id und user_pw (aber schon das verschlüsselte, nicht in Klartext) an eine Seite im Forumverzeichnis, die ich selbst erstellt habe (wechsel.php).
Diese Seite prüft in der Datenbank, ob die user_id und user_pw zusammen passen und meldet bei Erfolg den User an (startet Session).
Hier ist der Code für die wechsel.php:
Code: Alles auswählen
// Do phpBB stuff
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$phpbbid = $_REQUEST['user_id'];
$user_pw=$_REQUEST['user_pw'];
$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : getenv('REMOTE_ADDR') );
$user_ip = encode_ip($client_ip);
$sql="select user_password from phpbb_users where user_id='$phpbbid'";
if (!$result = $db->sql_query($sql)) {
message_die (GENERAL_ERROR, 'Could not retrieve login information', '', __LINE__, __FILE__);
}
while ($row = $db->sql_fetchrow($result)) {
$pw=$row['user_password'];
}
if ($user_pw != $pw) {
message_die (GENERAL_ERROR, 'Could not retrieve password information', '', __LINE__, __FILE__);
}
$session_id = session_begin($phpbbid, $user_ip, PAGE_PORTAL, FALSE, 0, 0);
if( $session_id )
{
$url = "portal.php";
redirect(append_sid($url, true));
}
else
{
message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);
}
Code: Alles auswählen
echo "<form action=\"http://www.meinedomain.de/wechsel.php\" method=post target=\"_new\">\n";
echo "<input type=submit value=\"Klicken Sie hier, um ins Forum zu wechseln\">\n";
echo "<input type=\"hidden\" name=\"user_id\" value=\"$user_id\">\n";
echo "<input type=\"hidden\" name=\"user_pw\" value=\"".$pw[0]."\">\n";
echo "</form>";
Der Wechsel mit SID wäre wahrscheinlich sicherer, funktioniert nur leider nicht (zumindest habe ich hier im Forum nur negative Äußerungen gelesen).
StanleyG