Accountsharing verhindern
Tobi
- php
0 LX0 Felix Riesterer
0 Encoder0 billy the gates0 Steel0 billy the gates0 Steel0 billy the gates0 Steel
Hallo Forum,
Ich betreibe eine php/mysql Seite mit User-Passwort-Zugängen.
Hierbei wird beim Login der Username und das Passwort geprüft, eine Session gestartet und anschließend bei jedem Seitenzugriff der Datensatz dieses Users unter Vorliegen bestimmter Bedingungen upgedatet.
Nun möchte ich, dass ein User seinen Account nicht mit einem weiteren User teilen kann. Dass das ohne Hardware nicht 100% möglich sein wird, ist mir klar. Deshalb beschränke ich mich mal darauf, dass die beiden User zumindest nicht gleichzeitig online sein dürfen.
Und hier entsteht der Zielkonflikt. Je kleiner ich die Zeit bemesse, innerhalb derer ich bestimme, dass eine Session-ID sich nicht ändern darf, desto fehlerfreier läuft auch ein Rechnerwechsel, der ja erlaubt sein muss. Oder ein Schließen des Browsers und sofortiges Wiedereinloggen. Allerdings werde ich bei entsprechend gering bemessenen Zeitspannen eben auch vermutlich selten bis niemals ein Accountsharing erkennen.
Hat jemand hier eine gute Idee, der diesen Zielkonflikt mindern kann?
Grüße, Tobi
Wenn zwei User sich absprechen, wirst Du das Account-Sharing nicht verhindern können. Wenn Du aber in dem entsprechenden Versuch Deine User vergraulst, löst sich das Problem damit von selbst...
Gruß, LX
Lieber Tobi,
Du könntest beim Login mitspeichern, unter welcher IP der einloggende Aufruf erfolgt ist. Wenn eine Session besteht, dann darf sich innerhalb dieser Session die IP-Adresse natürlich(!) verändern, denn manche ISP verwenden mehrere Adressen, sodass ein Kunde unter Umständen für jeden Request eine andere IP haben könnte.
Schema:
1. Request -> Prüfung auf erfolgten Login (Session vorhanden)
1. a) Login war bereits erfolgt -> Inhalte ausgeben
1. b) Login war nicht erfolgt -> 2.
2. Berechtigung zum Login prüfen -> letzte Useranmeldung ermitteln
2. a) Letzte Anmeldung wurde auch wieder korrekt abgemeldet. -> Login zulassen
2. b) Letzte Anmeldung wurde nicht korrekt abgemeldet. -> 3.
3. IP überprüfen -> gleiche IP wie bei letzter Anmeldung
3. a) User erneut anmelden lassen
3. b) Prüfen, wie lange die letzte Anmeldung zurück liegt
und erst nach X Minuten eine erneute Anmeldung zulassen
(mit der Bitte um korrektes Abmelden, um solche Störungen zu vermeiden)
Das wäre meiner Meinung nach der sinnvollste Weg. Alternativ kannst Du in 3.b) auch eine Sperrung des Accounts vornehmen, oder einfach mitzählen, wieviele gleichzeitige unbeendete Anmeldungen unter diesem Account stattfinden, um ab einem Limit eine Sperrung einzurichten... usw.
Liebe Grüße,
Felix Riesterer.
Wärs nicht einfach möglich, beim Login alle bisherigen Sessions des Benutzers zu löschen? Dann ist nur die jeweils aktuelle Session gültig.
Man kann sich dann natürlich dauernd wechselseitig neu anmelden, aber ob das wirklich jemand macht?
Hat jemand hier eine gute Idee, der diesen Zielkonflikt mindern kann?
zunächst kann ich mich nur LX anschließen. Mir geht der Sinn der Aktion nicht auf. Aber wenn's sein muß, gibt's zwei simple Möglichkeiten:
1. Cookies, um den Rechner zu identifizieren.
2. immer die neueste SessionID ist gültig. Ist doch eh das Normalste von der Welt. D.h., wenn zwei Leute sich wirklich einen Account teilen (wozu nur?) und sich nicht absprechen, wirft der frischer Eingeloggte den anderen jeweils raus. Da haben die dann also wohl nicht das von, was sie wollten.
Hi!
Mir geht der Sinn der Aktion nicht auf.
User machen das, damit nur einer bezahlt z.B. Oder bei einem Browsergame dein Spiel von anderen gespielt werden kann, wenn Du arbeitest, schlaeftst oder andere RL Dinge machst. Ich hab allerdings noch nie verstanden warum letzteres ein Problem darstellt. Irgendwie muss man als normal aktiver Mensch ja mit den Leuten mithalten koennen die 24/7 spielen.
Ich denke nicht dass dir Frage darauf abzielt, zu verhindern dass mehrere Leute gleichzeitig angemeldet sind, sondern dass sichergestellt ist, dass ueberhaut nur eine Person sich anmelden kann. (Wenigstens ein Rechner)
zum Thema:
Das geht mit Webmitteln natuerlich nicht. Und soll auch gar nicht gehen. Ginge das, koennte ich mich nur von meinem Rechner aus anmelden. Ein kleines Einloggen beim Kumpel oder mit meinem anderen Rechner wuerde nicht mehr gehen. Was irgendwie den Sinn aus solchen Anwendungen nimmt.
Ich denke nicht dass dir Frage darauf abzielt, zu verhindern dass mehrere Leute gleichzeitig angemeldet sind, sondern dass sichergestellt ist, dass ueberhaut nur eine Person sich anmelden kann.
macht man sowas nicht mit brain.exe, indem man das Passwort geheim hält? In einem anderen Forum schrieb kürzlich einer, daß er die Passwörter immer mit Tesafilm an den Monitor klebt - nagut...
Hi
macht man sowas nicht mit brain.exe, indem man das Passwort geheim hält? In einem anderen Forum schrieb kürzlich einer, daß er die Passwörter immer mit Tesafilm an den Monitor klebt - nagut...
Nein. Es ist ja Absicht, daß mehr Personen sich ein Konto teilen. Aber nicht vom Anbieter gewuenscht.
Nein. Es ist ja Absicht, daß mehr Personen sich ein Konto teilen. Aber nicht vom Anbieter gewuenscht.
ahhh..., die 24/7 Spieler gibt's wirklich? Also in Form von 3 Personen oder so? Aber wieso stört den Anbieter das?
Nein. Es ist ja Absicht, daß mehr Personen sich ein Konto teilen. Aber nicht vom Anbieter gewuenscht.
ahhh..., die 24/7 Spieler gibt's wirklich? Also in Form von 3 Personen oder so? Aber wieso stört den Anbieter das?
Die gibts auch in Form von einer Person. Warum den das stoert? Tja. Gute Frage. Die fuer mich einleuchtenste Antwort waere, dass er lieber mehr Accounts verkauft, bzw. bei kostenlosen Angeboten mehr Werbung verkauft? Oder damit die Zahlen besser aussehen? Bei Spielen werden immer wieder spieltechnische Gruende angegeben. Is ja unfair, den Leuten gegenueber, die z.B. arbeiten. Da es den 24/7 Spieler aber ja nunmal wirklich (in scheinbar unbegrenzter Menge und mit genug Geld um auch kostenpflichtige Spiele mit mehreren Accounts versehen zu verseuchen) gibt, ist das wohl eher kein Argument.
Frag halt mal so einen Betreiber.