Autologin mit der PHP-Funktion header()

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
NdeavourG
Mitglied
Beiträge: 19
Registriert: 25.04.2004 16:45

Autologin mit der PHP-Funktion header()

Beitrag von NdeavourG »

Hallo,

ich habe phpBB mittels der PHP-Funktion

Code: Alles auswählen

header("Location: http://www.youth-page.de/board/index.php"); 
in unsere Webpage integriert und stehe nun offenbar aus diesem Grund vor dem Problem, dass das Autologin des Boards nicht mehr funktioniert - obwohl das Kästchen "Bei jedem Besuch automatisch einloggen" aktiviert wurde.

Nach umfangreicher Recherche in diesem Forum und auch im englischen Board hab ich viele verschiedene Cookie-Einstellungen ausprobiert - dennoch will das mit dem Autologin nicht funktionieren!

Ein weiterer Problempunkt ist vielleicht, dass diese PHP-Datei, in der die obige Funktion steht, in einem Frameset aufgerufen wird - wenngleich ich weniger davon ausgehe, dass dies etwas mit dem Problem zu tun hat...

Das phpBB liegt im Verzeichnis
http://www.youth-page.de/board/
und wird über die URL
http://www.young-power.de/body.php?cat=4&id=board
aufgerufen.

Dann gibt es noch die
http://www.young-power.de/index.php?cat=4&id=board,
die wiederum die
http://www.young-power.de/body.php?cat=4&id=board
in ein Frameset einbindet.

Die Probleme nochmal zusammengefasst:
Wenn ich die direkte URL http://www.youth-page.de/board/index.php aufrufe und mich einlogge, kann ich problemlos aktualisieren, das Browserfenster schließen und bin immernoch eingeloggt.
Wenn ich das Board allerdings über die http://www.young-power.de/body.php?cat=4&id=board aufrufe und mich einlogge, bin ich nach einfachem Aktualisieren nicht mehr eingeloggt, stehe aber noch unten in der "User online:"-Liste und KANN mich einige Zeit lang nicht einloggen. Zudem funktioniert bei keiner der Varianten das Auto-Login!

Ich würde mich freuen, wenn mir jemand nochmal glasklar auflisten könnte, welche URLs ich unter Domainname, Cookie-Domain und Cookie-Pfad eintragen muss in diesem speziellen Fall! Falls das Problem tatsächlich an der header()-Funktion liegen sollte, wäre ich für Lösungsvorschläge dankbar.

Schöne Grüße,
- NdeavourG -
NdeavourG
Mitglied
Beiträge: 19
Registriert: 25.04.2004 16:45

Hilfe!

Beitrag von NdeavourG »

:( Hat echt niemand eine Lösung für dieses Problem?
Ich meine, es müsste doch auch bei anderen Boards aufgetreten sein, welche in eine Page über PHP-Funktionen eingebunden wurden?!

Ich weiß jetzt, dass die Cookies offensichtlich richtig eingestellt sind, denn wenn ich das Board "direkt" aufrufe, ohne es innerhalb unserer Website aufrufen zu lassen, funktionieren Autologin und das Aktualisieren!

Grüße,
- NdeavourG -
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Die Domain/Cookie-Domain-Einstellungen müssen auf die Domain angepasst sein, über die das Forum laufen soll. Also entweder young-power.de oder youth-page.de.

Alternative: http://www.phpbb.de/topic47450.html
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
NdeavourG
Mitglied
Beiträge: 19
Registriert: 25.04.2004 16:45

Danke!

Beitrag von NdeavourG »

Hey, danke!

Ich bin dir zu tausend Dank verpflichtet!
Dieses Snippet funktioniert einwandfrei und behebt alle Probleme - sowohl das mit dem Autologin, als auch das Aktualisierungsproblem (logisch ;) )!

Ich frage mich allerdings, was für einen Sinn dann eigentlich die ursprüngliche Ersetzungsfunktion

Code: Alles auswählen

$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name'])); 
hat?!
Da müsste ja dann irgendein String der Form ^/beliebigezeichen/$ durch irgendwas ersetzt werden, wenn ich das mit den regulären Ausdrücken einigermaßen richtig verstanden habe. Was bewirkt diese Funktion gegenüber dem

Code: Alles auswählen

$server_name = $_SERVER["SERVER_NAME"];
?
Würde mich mal stark interessieren... wenn sich damit jemand auskennt, würde ich mich über weitere Antworten freuen. ;)

Schöne Grüße,
- NdeavourG -
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

phpBB ist eigentlich so konzipiert, das es nur auf einer Domain läuft. Durch die Änderung mit $_SERVER ist es phpBB egal, auf welcher Domain es läuft.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
NdeavourG
Mitglied
Beiträge: 19
Registriert: 25.04.2004 16:45

Beitrag von NdeavourG »

Ja, aber was macht es denn für einen Sinn, ein Forum in seiner Funktionsvielfalt einzuschränken, wenn es mit einer solchen kleinen Änderung auch "global" einsetzbar ist?! :-?
NdeavourG
Mitglied
Beiträge: 19
Registriert: 25.04.2004 16:45

Funktioniert doch nicht 100%ig...

Beitrag von NdeavourG »

:-? So...

Jetzt, wo die praktischen Tests angelaufen sind, musste ich feststellen, dass dieses Snippet doch auch nicht ganz soooo gut funktioniert, wie ich zuerst gedacht hatte! Ich surfe nämlich mit dem Mozilla Firefox und da war dann alles bestes nach der kleinen Änderung in der functions.php.

Nun haben aber einige User logischerweise das Board auch mit dem Internet Explorer besucht und hier funktioniert dies merkwürdigerweise überhaupt nicht! Man muss explizit in den Cookie-Einstellungen in den Internetoptionen angeben, dass die Domain "http://www.youth-page.de" ZUGELASSEN werden soll - andernfalls funktioniert es irgendwie nicht, obwohl dies bei anderen Boards offensichtlich sehr gut funktioniert...

und da ich nicht jedem unserer User "zumuten" will, diese Cookieeinstellungen manuell zu ändern, suche ich nach wie vor nach einer anderen Lösung. Woran kann das liegen, dass die Cookies von phpBB in der intergrierten Version nicht angenommen/ zugelassen werden?

Danke für Eure Antworten,
- NdeavourG -
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

In sessions.php Zeile 328f

Code: Alles auswählen

	$cookiedomain = $board_config['cookie_domain'];
analog zu dem Snippet ändern.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
NdeavourG
Mitglied
Beiträge: 19
Registriert: 25.04.2004 16:45

Beitrag von NdeavourG »

Hey, danke für die schnelle Antwort!
Aber was meinst du genau mit "analog zum Snippet ändern"?
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Code: Alles auswählen

$_SERVER["SERVER_NAME"]
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“