Logout per Skript?

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.
Antworten
langerxxx
Mitglied
Beiträge: 48
Registriert: 26.05.2003 20:46

Logout per Skript?

Beitrag von langerxxx »

Hallo zusammen,

ich logge meine Nutzer automatisch in das PHPBB ein, wenn sie sich für das Portal einloggen.

Beim Logout aus diesem Portal wird folgender Code ausgeführt:

Code: Alles auswählen

session_start();

session_unset();

session_destroy();
Frage:

Wie kann ich die User beim Ausführen des Codes gleichzeitig aus dem Forum ausloggen?

Danke im voraus und viele Grüße
Langer
Benutzeravatar
Henne
Ehemaliges Teammitglied
Beiträge: 4520
Registriert: 04.01.2002 01:00
Wohnort: Lage (Lippe)
Kontaktdaten:

Beitrag von Henne »

Klärst uns noch auf, was du für ein Portal hast?
Was selbstgebasteltes, ein fertiges, ...

Hast die Anbindung fürs phpBB selber geschrieben?
langerxxx
Mitglied
Beiträge: 48
Registriert: 26.05.2003 20:46

Beitrag von langerxxx »

Aber gerne doch. :grin:

Das Portal ist selbst gebastelt. Das Login in das Forum funktioniert über einen Hack für das PHPBB. Die User werden über einen Link a la login.php?username=bla&passwort=xxx in das Forum eingeloggt.

Das Cookie wird also direkt vom PHPBB gesetzt...

Danke schonmal!
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

includes/sessions.php, ab Zeile 317:

Code: Alles auswählen

//
// session_end closes out a session
// deleting the corresponding entry
// in the sessions table
//
function session_end($session_id, $user_id)
{
	global $db, $lang, $board_config;
	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;

	$cookiename = $board_config['cookie_name'];
	$cookiepath = $board_config['cookie_path'];
	$cookiedomain = $board_config['cookie_domain'];
	$cookiesecure = $board_config['cookie_secure'];

	$current_time = time();

	//
	// Pull cookiedata or grab the URI propagated sid
	//
	if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) )
	{
		$session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
		$sessionmethod = SESSION_METHOD_COOKIE;
	}
	else
	{
		$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
		$sessionmethod = SESSION_METHOD_GET;
	}

	//
	// Delete existing session
	//
	$sql = "DELETE FROM " . SESSIONS_TABLE . " 
		WHERE session_id = '$session_id' 
			AND session_user_id = $user_id";
	if ( !$db->sql_query($sql) )
	{
		message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);
	}

	setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);
	setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);

	return true;
}
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
langerxxx
Mitglied
Beiträge: 48
Registriert: 26.05.2003 20:46

Beitrag von langerxxx »

Servus Sascha,

scheint leider nicht zu funktionieren. Der User wird nach dem Ausführen des Codes immer noch als einloggt angezeigt.

Eine Idee, woran das liegen könnte? Muss ich evtl. noch einen bestimmten Code vorher ausführen?

Danke und viele Grüße
Langer
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Kann eigentlich nicht sein, denn wenn die Session gelöscht wird, ist sie gelöscht, wenn Du verstehst, was ich meine ;)
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Antworten

Zurück zu „phpBB 2.0: Mod Support“