sid an Link hängen

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Ogniquok
Mitglied
Beiträge: 208
Registriert: 04.08.2007 22:24

sid an Link hängen

Beitrag von Ogniquok »

Hallo,
Meine Frage bezieht sich indirekt auf die "Vorlage für in phpBB eingebundene Seiten". Und zwar hab ich eine Site mit Links, die über ne index.php aufgerufen werden (z.B. index.php?page=Testseite). Nun möchte ich an diesen Link noch die SessionID anhängen (z.B. index.php?page=Testseite&sid=1234567890).
Mit append_sid('index.php?page=Testseite') geht das nicht richtig, dadurch wird seltsamerweise jeder Link gleich.
Welche Möglichkeit gibt es noch? Oder mach ich was falsch? Bzw. welche Möglichkeit hab ich noch, damit ich "angemeldet" bleibe und die Session nicht zerstört wird?

Ich hab nur folgenden Code von der Vorlage in die index.php eingebaut:

Code: Alles auswählen

// Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Session auslesen und Benutzer-Informationen laden
$user->session_begin();
$user->setup();
$auth->acl($user->data);
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Code: Alles auswählen

$url = append_sid("{$phpbb_root_path}index.$phpEx", 'page=Testseite');
und dann einfach $url benutzen
kein Support per PN
Ogniquok
Mitglied
Beiträge: 208
Registriert: 04.08.2007 22:24

Beitrag von Ogniquok »

Erstmal danke.
So geht es aber auch nicht. Das Problem ist ja, dass die Website nicht ins Forum eingebaut ist. Das Forum liegt nur in einem separatem Unterordner. Ich will ja praktisch nur die Berechtigungen der User des Forums auslesen, und ich dachte, dafür brauch ich die SID. Wenn ich die ja weglasse, bin ich ausgeloggt. Und das will ich verhindern. Und wenn man nicht eingeloggt ist, will ich ein Login-Formular einbauen.
Geht das überhaupt so, wie ich mir das Vorstelle? Also praktisch verhindern, dass die Cookie-Session verfällt.
Ogniquok
Mitglied
Beiträge: 208
Registriert: 04.08.2007 22:24

Beitrag von Ogniquok »

Man, wie schnell hier ein Beitrag auf die 3. Seite rutschen kann...^^

Hat denn keiner mehr eine Idee?
Nochmal kurz mein Vorhaben zusammengefasst: Ich will verhindern, dass ich ausgeloggt werde, sobald ich von meinem Forum auf meine HP wechsle.
Ogniquok
Mitglied
Beiträge: 208
Registriert: 04.08.2007 22:24

Beitrag von Ogniquok »

Kann denn keiner was dazu sagen?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Da gibt es eigentlich nicht allzuviele Möglichkeiten. Die einfachste davon ist wohl, nach der Vorlage die Standard-Dateien einzubinden und dann eben die Funktion zu verwenden.

Problematisch wird das nur, wenn ein paar Funktionsnamen oder Klassen miteinander kollidieren und inkompatibel sind. Dann kannst du eigentlich nur selber was basteln, du brauchst eine Verbindung zur Datenbank des Forums und musst dann eben die Session ID des Users aus der Session Tabelle auslesen (bzw. andersherum den User per Session-Tabelle herausfinden).

Vermutlich solltest du dazu mal einen genaueren Blick auf die sessions.php im includes Ordner werfen, evtl. kannst du auch einfach Teile davon übernehmen die dann den Rest überflüssig machen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Ogniquok
Mitglied
Beiträge: 208
Registriert: 04.08.2007 22:24

Beitrag von Ogniquok »

Ok,danke!
Ich seh's mir mal an und bastle ein wenig, meld mich, wenn ich wieder was brauch :D
Ogniquok
Mitglied
Beiträge: 208
Registriert: 04.08.2007 22:24

Beitrag von Ogniquok »

So, da ich jetzt wieder mehr zeit habe, hab ich noch mal getestet.

Der Login erfolgt so:

Code: Alles auswählen

echo '<a href="../phpBB3/ucp.php?mode=login&redirect=../index.php?page=Home">[Login]</a>';
Die Ordnerstruktur ist immer noch so, wie oben beschrieben. Wenn ich vom Login wieder auf meine Website weitergeleitet werde, steht in der Adressleiste der Link mit SID, so wie es sein soll. Aber an die Links, die auf meiner Website stehen, sind so aufgebaut:

Code: Alles auswählen

echo '<a href="'.append_sid("index.$phpEx", 'page=Home').'">Home</a>';
Es wird aber keine SID mehr angehängt (ist ja im Forum genauso).
Warum ist das so, bzw. kann man das ändern, dass die SID immer angehängt ist?
Auf meinem "localhost" mit XAMPP geht's irgendwie, auf dem Webspace nicht...
Weiß jemand Rat???
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Die SID wird nur dann angehängt, wenn es mit den Cookies nicht klappt. Zur Not häng sie manuell an:

Code: Alles auswählen

append_sid($url, $params = false, $is_amp = true, $session_id = false)
Den letzten Parameter auf $user->session_id und schon sollte es forciert werden wenn ich mich nicht irre.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Ogniquok
Mitglied
Beiträge: 208
Registriert: 04.08.2007 22:24

Beitrag von Ogniquok »

Also soll ich den Teil in der functions.php ändern?
Was genau soll ich denn da mit $user->session_id machen?
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“