Wiedermal ein Session/Cookie- Problem

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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.
tschortschi
Mitglied
Beiträge: 9
Registriert: 12.04.2007 14:37

Wiedermal ein Session/Cookie- Problem

Beitrag von tschortschi »

Grüß euch ;)
Also erstmal ein großes Lob an die Forengemeinschaft, hab schon so manchen Mod mit eurer Hilfe erfolgreich eingebaut ;)
Nun aber bin ich auf das phpbb3 umgestiegen und habe das Problem dass ich, wenn ich über das externe Login eine Session starte, sobald ich einen anderen Link öffne, wieder ausgeloggt werde! Die Cookies habe ich überprüft, wobei ich folgende Einstellungen vorgenommen habe:

Domain: .pernau.laumat.at
Cookie-Name: pernau
Cookie-Pfad: /forum/

die Seite selbst liegt auf:
http://pernau.laumat.at/new
Das Forum selbst auf
http://pernau.laumat.at/forum

Nun habe ich einfach jeden Link mit der SID versehen, er bleibt mir zwar eingelogged, jedoch kann ich nun auf die user->data nicht mehr zugreifen und keine Daten mehr abfragen! Woran könnte das liegen?

Der Code meiner login.php:

Code: Alles auswählen

<?php
session_name(); 
session_start();


    define('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../forum/';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    require($phpbb_root_path . 'common.' . $phpEx);
	include $phpbb_root_path . 'includes/functions_user.php';

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
	//$SID= user->data[''];

    //Abfragen von ggf. uebermittelten Parametern
    $username     = request_var('username', '', true);
    $password     = request_var('password', '', true);


    $logout     = request_var('mode', '');

    //Wenn username und passwort uebergeben worden sind, starte einen Anmeldeversuch
    if (isset($username) && isset($password))
    {

        $auth->login($username, $password, $autologin, $viewonline);
    }
    //Wenn ueber einen Link der mode=logout lautet und eine SID uebergeben wurde, starte das ausloggen des Users
    if ($_GET["navi"] == 'logout')
    {
        $user->session_kill();
    }

echo '<br><br>';
    if ($user->data['is_registered'])
    {
//EINGELOGGT:
echo '<center><br><table width="168" border="0">
				<tr><td>';
				echo '<p>';
				//Ausgabe Benutzername
				print("Eingeloggt als");
				print("<br>");
				echo"<b>".$username."</b>";

//USERSPEZIFISCHE AUSGABEN
}
else{
	//IST DAS FORMULAR NOCH NICHT ABGESENDET, GIB ES AUS
			if(!isset($_POST["login"]))
				{
					echo '<form action="index.php" method="post">
						  <table width="168" border="0">
							<tr>
							  <td width="92"><p>Username:</p> </td>
							  <td width="50"><input name="username" type="text" size="10" /></td>
							</tr>
							<tr>
							  <td><p>Passwort: </p></td>
							  <td><input name="password" type="password" size="10" /></td>
							</tr>
							<tr><td><center><input type="submit" name="login" value="Login" /></td><td><input type="button" value="Registrieren" onclick=location="index.php?navi=register"><center></center>
							</td></tr>
						  </table>
						</form>';
				}
?>
Wäre euch über jeden Tipp dankbar!
lg

Tschortschi :roll:
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Beitrag von piero »

stell mal den cookie-path zurück auf "/", weil kann sein, dass über /new/ jetzt kein forumcookie mehr angeschaut werden kann ;)
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Probier':
Domain:
Cookie-Name: pernau
Cookie-Pfad: /forum
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Beitrag von piero »

kann das cookie überhaup gesetzt werden, wenn keine domain angegeben wurde?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Im Normalfall: Ja.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
tschortschi
Mitglied
Beiträge: 9
Registriert: 12.04.2007 14:37

Beitrag von tschortschi »

vielen dank für die rückmeldungen!
Also ich habe alle möglichen Änderungen vorgenommen, leider hat sich nichts verbessert! Er legt jedoch laut Firefox ein Cookie nahmens PHPSESSID an, welcher den Pfad '/' besitzt. Habe testhalber auch den Pfad auf /new gesetzt, leider auch ohne Erfolg!

lg
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Hast Du mal 'nen Testuser?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
tschortschi
Mitglied
Beiträge: 9
Registriert: 12.04.2007 14:37

Beitrag von tschortschi »

ja natürlich:

user: tester
passwort: pernau
tschortschi
Mitglied
Beiträge: 9
Registriert: 12.04.2007 14:37

Beitrag von tschortschi »

Mannomanno... bin gerade draufgekommen dass ich meine "Werde ausgeloggt"- Erkenntnis darauf bezog, dass ich den usernamen nicht ausgeben konnte, da ich diesen ja mit $username ausgegeben habe, was jedoch nur die _POST variable vom Formular war ;) habs nun mit der user->data['username'] gemacht und es funktioniert super!

Nun habe ich allerdings das Problem dass ich, wenn ich die Links wie Profil ändern öffnen möchte, im Forum nicht eingeloggt bin, da meine $SID ab einem Seitenwechsel nichtmehr vorhanden ist! Wird die $SID irgendwo gespeichert oder kann man sich diese nicht mehr zurückholen?

Vielen Dank
lg
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Die Session ID wird normalerweise im Cookie gespeichert.
Du hast aber für den externen Login den Pfad new drin und für das Forum forum.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“