2 Forenaccounts von einem PC

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
Dominik Zeier
Mitglied
Beiträge: 9
Registriert: 21.09.2006 15:38

2 Forenaccounts von einem PC

Beitrag von Dominik Zeier »

Hallo,

meine Freundin und ich haben jeder einen Forenaccount, gehen aber meistens an einem PC ins Forum.
Wenn sich der 2. dann einloggt, sind die Beiträge, die der erste gelesen hat, als gelesen makiert, auch beim 2. Account, obwohl dieser sie noch nicht gelesen hatte. (kompliziert zu erklären)
Kann man dagegen etwas machen ?
SoLo1905

Beitrag von SoLo1905 »

bitte KB:frage_recht
felixx
Mitglied
Beiträge: 815
Registriert: 30.10.2004 10:09

Beitrag von felixx »

Hi,

bevor Du Dich mit dem 2. Account einloggst die Cookies und den Browser Cache leeren, dann geht es. :wink:
Grüße
Felix
Benutzeravatar
miccom
Mitglied
Beiträge: 5620
Registriert: 30.03.2003 23:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von miccom »

Verwende 2 unterschiedliche Browser... oder noch besser, 2 unterschiedliche Accounts auf eurem gemeinsamen PC.
Dominik Zeier
Mitglied
Beiträge: 9
Registriert: 21.09.2006 15:38

Beitrag von Dominik Zeier »

SoLo1905 hat geschrieben:bitte KB:frage_recht
Also so schlimm war der Beitrag ja nun auch wieder nicht, deine 2 Nachfolger haben es ja auch verstanden.
Danke für die Antworten :)
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Der Beitrag ist weitgehend korrekt, lediglich etwas arg verschachtelt.
Dominik Zeier
Mitglied
Beiträge: 9
Registriert: 21.09.2006 15:38

Beitrag von Dominik Zeier »

Ja, war irgendwie komisch zu erklären und ist dadurch etwas seltsam geworden, dass muss ich auch zugeben.
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Um das Problem noch auf technischer Basis zu erklären:

Der gelesen Status wird in Cookies gespeichert, leider haben diese keinen Hinweis auf den benutzten User im Namen (z.B. die UID, eigentlich seltsam wo gelesen/ungelesen bei phpBB.de sowieso nur für eingeloggte Nutzer geht), folglich wird dieser Status quasi immer als ein User behandelt.

Unterschiedliche Browser, 2 Accounts auf dem PC (wie eben genannt) oder (falls unterstützt) 2 verschiedene Browser-Profile würden hier Abhilfe schaffen. Sofern es sich um das eigene Forum handelt könnte man dieses natürlich auch anpassen und die UID in den Cookie Namen "einpflanzen".
Dominik Zeier
Mitglied
Beiträge: 9
Registriert: 21.09.2006 15:38

Beitrag von Dominik Zeier »

jensemann hat geschrieben:Um das Problem noch auf technischer Basis zu erklären:

Der gelesen Status wird in Cookies gespeichert, leider haben diese keinen Hinweis auf den benutzten User im Namen (z.B. die UID, eigentlich seltsam wo gelesen/ungelesen bei phpBB.de sowieso nur für eingeloggte Nutzer geht), folglich wird dieser Status quasi immer als ein User behandelt.

Unterschiedliche Browser, 2 Accounts auf dem PC (wie eben genannt) oder (falls unterstützt) 2 verschiedene Browser-Profile würden hier Abhilfe schaffen. Sofern es sich um das eigene Forum handelt könnte man dieses natürlich auch anpassen und die UID in den Cookie Namen "einpflanzen".
Wie würde das mit dem "einpflanzen" denn funktionieren ?
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Ungetestet:

viewtopic.php Zeile 538:

Suche:

Code: Alles auswählen

$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t_']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
Ersetze durch:

Code: Alles auswählen

$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t_' . $userdata["user_id"]]) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t_' . $userdata["user_id"]]) : array();
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_' . $userdata["user_id"]]) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_' . $userdata["user_id"]]) : array();
viewtopic.php Zeile 562:

Suche:

Code: Alles auswählen

setcookie($board_config['cookie_name'] . '_t', serialize($tracking_topics), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
Ersetze durch:

Code: Alles auswählen

setcookie($board_config['cookie_name'] . '_t_' . $userdata["user_id"], serialize($tracking_topics), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
posting.php Zeile 598:

Suche:

Code: Alles auswählen

$tracking_topics = ( !empty($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
$tracking_forums = ( !empty($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
Ersetze durch:

Code: Alles auswählen

if ($userdata["session_logged_in"])
{
$tracking_topics = ( !empty($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t_' . $userdata["user_id"]]) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t_' . $userdata["user_id"]]) : array();
$tracking_forums = ( !empty($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_' . $userdata["user_id"]]) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_' . $userdata["user_id"]]) : array();
} else
{
$tracking_topics = ( !empty($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
$tracking_forums = ( !empty($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
}
posting.php Zeile 600:

Suche:

Code: Alles auswählen

setcookie($board_config['cookie_name'] . '_t', serialize($tracking_topics), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
Ersetze durch:

Code: Alles auswählen

if ($userdata["session_logged_in"])
{
setcookie($board_config['cookie_name'] . '_t_' . $userdata["user_id"], serialize($tracking_topics), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
} else
{
setcookie($board_config['cookie_name'] . '_t', serialize($tracking_topics), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
}


index.php Zeile 55:

Suche:

Code: Alles auswählen

setcookie($board_config['cookie_name'] . '_f_all', time(), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
Ersetze durch:

Code: Alles auswählen

setcookie($board_config['cookie_name'] . '_f_all_' . $userdata["user_id"], time(), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
index.php Zeile 387:

Suche:

Code: Alles auswählen

if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
{
    if ( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'] > $forum_last_post_time )
Ersetze durch:

Code: Alles auswählen

if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'_ $userdata["user_id"]]) )
{
    if ( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all_' . $userdata["user_id"]] > $forum_last_post_time )
viewforum.php Zeile 136:

Suche:

Code: Alles auswählen

$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
Ersetze durch:

Code: Alles auswählen

$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_' . $userdata["user_id"]]) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_' . $userdata["user_id"]]) : array();
$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t_' . $userdata["user_id"]]) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t_' . $userdata["user_id"]]) : array();
viewforum.php Zeile 149:

Suche:

Code: Alles auswählen

setcookie($board_config['cookie_name'] . '_f', serialize($tracking_forums), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
Ersetze durch:

Code: Alles auswählen

setcookie($board_config['cookie_name'] . '_f_' . $userdata["user_id"], serialize($tracking_forums), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
Was bewirkt dieser lustige Code?

Alle Namen der Cookies die gesetzt werden um den gelesen/ungelesen Status eines Postings, Forums oder Topics zu markieren werden um "_$USER_ID" erweitert, somit können diese einem User zugeordnet werden und es finden keine Konflikte mehr statt.

Das ganze läuft jetzt Testing-by-Luser ;-) Du sagst mir nachher ob es funktioniert, wenn ja bau ich es bei mir auch ein *g*
Antworten

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