Neues AOL-Problem? [Nicht IP/Sessions!!!]

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.
Antworten
testit
Mitglied
Beiträge: 234
Registriert: 04.06.2001 02:00

Neues AOL-Problem? [Nicht IP/Sessions!!!]

Beitrag von testit »

Hi,

es könnte sein, dass ich auf ein neues Problem im Zusammenhang mit AOL-Usern gestossen bin.

Ich nutze phpBB2 im Zusammenhang mit einem Chatserver. User, die sich eingeloggt haben, können mit ihrem Usernamen auch in den Chat wechseln. Bei Wechsel in den Chat wird für den betreffenden User ein Parameter übergeben, der es ermöglicht, aus dem Chat heraus, dessen Profil aufzurufen.

Und jetzt kommts: Das klappt bei allen, nur nicht bei AOL-Usern! Will man deren Profil abrufen, sieht man immer nur sein eigenes. Grund: Die user_id wird für den AOL-User nicht korrekt ermittelt, wohl aber sein Username! Bei allen anderen Mitgliedern klappt alles einwandfrei.

Folgendes Codestück zeigt das Problem auf:

Code: Alles auswählen

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 
include ($phpbb_root_path . 'digichat_icons.'.$phpEx);

// 
// Start session management 
// 
$userdata = session_pagestart($user_ip, PAGE_SEARCH); 
init_userprefs($userdata); 
// 
// End session management 
// 

$username = $userdata['username'];
$user_id1 = $userdata['user_id'];

echo "UserID direkt: $user_id1<br>";

$sql = "SELECT user_id
			FROM " . USERS_TABLE . "
			WHERE username = '" . str_replace("\'", "''", $username) . "'";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
		}

$row = $db->sql_fetchrow($result) ;

$user_id2 = $row[user_id];
echo "UserID-DB: $user_id2<br>";
Bei allen "normalen" Usern ist user_id1 identischt´mit user_id2. Bei den AOL-Usern nicht. Bei zeigt nur UserID-DB, also $user_id2 die richtige UserID des AOL-Users an.

Baut ein script oder ein MOD also auf die fehlerfreie Besetzung von $userdata['user_id'] durch die Standard Session Eröffnung (vgl. // Start session management), kann es zu kuriosen Ergebnissen kommen.

Ich habe rein vorsorglich die Sache mal mit der hier erörterten Lösung getestet, nicht die ganze IP zu checken.

Dies brachte keinen Erfolg, die Fehlbesetzung der user_id bleibt bestehen bei AOL-Usern.


Gruss
Volker
Antworten

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