Prüfen, ob Account mehrfach genutzt wird

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
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.
dieter99
Mitglied
Beiträge: 430
Registriert: 07.04.2005 20:09

Prüfen, ob Account mehrfach genutzt wird

Beitrag von dieter99 »

Hallo,
in meinem Forum darf ein- und derselbe Account nicht mehrfach genutzt werden (von verschiedenen Personen). Ich bin nun auf der Suche nach einen MOD, der loggt ob 2 User mit dem gleichen Account gleichzeitig online sind.

Gibt es sowas?
cpg
Mitglied
Beiträge: 532
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: Prüfen, ob Account mehrfach genutzt wird

Beitrag von cpg »

Moin,

es gibt einen "Double Account Preventer": http://www.phpbb.com/community/viewtopi ... &t=1472765

Nachtrag:
Ich sehe gerade, dass der Download-Link dort in dem Fred rausgenommen wurde. Vielleicht bekommst Du aber in den Beiträgen hinweise, die nützlich sind (?)

Gruß
CPG
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Prüfen, ob Account mehrfach genutzt wird

Beitrag von BNa »

Die genannte Mod prüft ob der gleiche IP Adressraum für mehrere Accounts benutzt wird. Was der OP meint ist, ob ein und derselbe Account von mehreren benutzt wird. Das kann man zum Beispiel mit diesem Snippet unterbinden. Hierbei wird der Erst Eingeloggte automatisch ausgeloggt, sofern ein Weiterer sich mit dem selben Account einloggt. Das allerdings ohne Monitoring, weil es einfach funktioniert.

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

Re: Prüfen, ob Account mehrfach genutzt wird

Beitrag von Miriam »

Soweit ich es erkennen kann, wird bei Benutzung dieses Snippets weder der erste User, noch (irgend-) ein anderer User, der diesen Account benutzt, ausgeloggt, wenn er / sie /es die Option "Mich bei jedem Besuch automatisch anmelden" benutzt. Also ein Cookie zur Anmeldung benutzt wird; was auch die Regel sein dürfte.
Nach meiner Erkenntnis muß dann auch noch der Key aus der Session-Keys-Tabelle entfernt werden. (So wird es ja auch in der function session_kill() in der includes/session.php gemacht.)
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Prüfen, ob Account mehrfach genutzt wird

Beitrag von BNa »

Die Funktion habe ich nie benutzt. Daher waren alle Test erfolgreich. Schon mal selbst live getestet?

Dann würde also ein zusätzliches Codefragment nach dem Bekannten reichen

Originalcode

Code: Alles auswählen

$sql = 'DELETE FROM ' . SESSIONS_TABLE . "
        WHERE session_user_id  = " . (int) $row_user_id . "
        AND session_id        != '$row_session_id'        
        AND session_start     != '$row_session_start'";
$db->sql_query($sql);
Danach einzufügen

Code: Alles auswählen

$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
        WHERE user_id = ' . (int) $row_user_id;
$db->sql_query($sql);
Zuletzt geändert von BNa am 08.06.2012 15:00, insgesamt 1-mal geändert.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Prüfen, ob Account mehrfach genutzt wird

Beitrag von Miriam »

Ja.
Warum meinst Du wohl brauche ich immer so lange, um Lösungen zu "Problemen" zu posten? Ich probiere sie in vor dem Posten in 99,99% der Fälle aus. :lol:
Zuletzt geändert von Miriam am 08.06.2012 15:01, insgesamt 1-mal geändert.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Prüfen, ob Account mehrfach genutzt wird

Beitrag von BNa »

Jup, teste auch immer alles aus vorher, dh. alle Snippets sind getestet (gut, bis auf das ich die genannte Funktion nie benutze).

Grad ein Edit rein, f5 + nochmal lesen

Edit: Ich glaub, ich weiss jetzt, was zu tun ist.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Prüfen, ob Account mehrfach genutzt wird

Beitrag von Miriam »

Immer diese Edits *tsts*

Mit

Code: Alles auswählen

$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
            WHERE user_id = ' . (int) $row_user_id;
    $db->sql_query($sql); 
loggst Du ja alle aus.

Wie sieht's mit

Code: Alles auswählen

$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
        WHERE user_id = ' . (int) $row_user_id . "
        AND last_ip <> '" . $user->data['session_ip']. "'";
        $db->sql_query($sql); 

aus?
^^ Das ist jetzt allerdings ungetestet.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Prüfen, ob Account mehrfach genutzt wird

Beitrag von BNa »

So können aber zwei Personen aus dem gleichen Netzwerk dennoch gleichzeitig als ein und derselbe User rein. Bin grad schon an der Lösung dran.

Edit: Wie funktioniert denn diese Funktion eigentlich? > "Mich bei jedem Besuch automatisch anmelden"
Ich hake das an und nach dem logout und nächstem login ist der Haken wieder weg und ich muss das Passwort wieder eingeben.
Aber egal erstmal..

Also, wenn ich das in zwei Browsern teste. So ist das Original Snippet gedacht:

- Der erste loggt sich ein mit Firefox
- Der zweite loggt sich ein mit Opera

Beide selber User Account.

Aktualisiere ich jetzt irgendeine Seite oder klicke irgendwo hin im Firefox,
ist der Firefox User ausgeloggt und der Opera User ist nach wie vor drin.

Et voila, so soll es sein. Also funktionierts ja doch, oder?

Egal, ich hab Deine Erweiterung erstmal hier rein. Für die meisten Zwecke reicht es ja aus (Verschiedene IPs > gleicher User Account). Das ist wohl das, was die meisten verhindern möchten. Ich bastel dann später an einer narrensicheren(!) Variante weiter.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Prüfen, ob Account mehrfach genutzt wird

Beitrag von Miriam »

So können aber zwei Personen aus dem gleichen Netzwerk dennoch gleichzeitig als ein und derselbe User rein. Bin grad schon an der Lösung dran.
Derselbe können sie ja nicht sein... haben mindestens verschiedene IPs.
Aber gut: Wenn sie über einen Proxy kommen, haben sie gleiche IPs (abgesehen von der X-FORWARDED-FOR Geschichte).
Edit: Wie funktioniert denn diese Funktion eigentlich? > "Mich bei jedem Besuch automatisch anmelden"
Ich hake das an und nach dem logout und nächstem login ist der Haken wieder weg und ich muss das Passwort wieder eingeben.
Aber egal erstmal..
Die Annahme von Cookies muß akzeptiert werden.
Es wird mit dem Anhaken ein Cookie gesetzt, der session_key wird in einem Cookie gepeichert. Wenn Du Dich nicht aktiv ausloggst, bist Du bei Kenntnis des Session-Keys drin.
Lies hier: KB:cookie_daten.
Also, wenn ich das in zwei Browsern teste. So ist das Original Snippet gedacht:

- Der erste loggt sich ein mit Firefox
- Der zweite loggt sich ein mit Opera
Und beide haben Autologin an... was nun?
Aktualisiere ich jetzt irgendeine Seite oder klicke irgendwo hin im Firefox,
ist der Firefox User ausgeloggt und der Opera User ist nach wie vor drin.
Dann hast Du kein Autologin an.
Et voila, so soll es sein. Also funktionierts ja doch, oder?
Wir (also Du :lol: )wollen doch aber alle Möglichkeiten abdecken und nicht nur Einzelschicksale.
Egal, ich hab Deine Erweiterung erstmal hier rein. Für die meisten Zwecke reicht es ja aus (Verschiedene IPs > gleicher User Account). Das ist wohl das, was die meisten verhindern möchten. Ich bastel dann später an einer narrensicheren(!) Variante weiter.
Viel Glück.

Wie dem auch sei: Die Session-ID allein zu löschen, loggt den User noch nicht aus, jedenfalls nicht immer.
Hast Du Dir auch mal session_kill() angeschaut? Eigentlich brauchst Du da nur noch etwas dran schrauben und Du hast es gelöst. (Denke ich zumindest.)
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“