2 Forenaccounts von einem PC
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.
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.
-
- Mitglied
- Beiträge: 9
- Registriert: 21.09.2006 15:38
2 Forenaccounts von einem PC
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 ?
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 ?
-
- Mitglied
- Beiträge: 9
- Registriert: 21.09.2006 15:38
-
- Mitglied
- Beiträge: 9
- Registriert: 21.09.2006 15:38
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".
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".
-
- Mitglied
- Beiträge: 9
- Registriert: 21.09.2006 15:38
Wie würde das mit dem "einpflanzen" denn funktionieren ?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".
Ungetestet:
viewtopic.php Zeile 538:
Suche:
Ersetze durch:
viewtopic.php Zeile 562:
Suche:
Ersetze durch:
posting.php Zeile 598:
Suche:
Ersetze durch:
posting.php Zeile 600:
Suche:
Ersetze durch:
index.php Zeile 55:
Suche:
Ersetze durch:
index.php Zeile 387:
Suche:
Ersetze durch:
viewforum.php Zeile 136:
Suche:
Ersetze durch:
viewforum.php Zeile 149:
Suche:
Ersetze durch:
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*
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();
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();
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']);
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']);
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();
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();
}
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']);
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']);
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']);
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 )
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 )
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();
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();
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']);
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']);
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
