Das das erkennen von Multis etc durch die IP recht schwer und oft nutzlos ist dank Proxys & co habe ich mich mal weiter erkundigt was es noch für Möglichkeiten gibt einen Spieler zu identifizieren. Die Mac Adresse wäre da ganz gut aber leider kann man die (soweit ich weiß) nicht ermitteln.
Dann bin ich über die "fingerprint" Methode gestolpert wie sie wohl auch von Google und einigen anderen genutzt wird. Dabei werden möglichst viele Daten über den Benutzer gesammelt und dann daraus ein Fingerabdruck erstellt.
Meine Frage wäre ob da schon jamend Erfahrung mit hat bzw mehr Informationen da ich zb die Art der Daten usw nicht in Erfahrung bringen konnte.
Das einzigste was mir als nutzbare Daten dafür einfällt wären zb der Host, und alles was navigator.* (JS) hergibt.
Googel selbst gibt auch auf Anfrage nicht bekannt welche Daten sie dazu sammeln.
Fingerprint vs IP
gepostet vor 18 Jahre, 5 Monate von The_Alien
gepostet vor 18 Jahre, 5 Monate von Blabbo
Was heisst da Fingerprint vs IP, zum Fingerprint kannst du die IP ja auch mit dazunehmen.
Dann noch Cookies setzen wie blöd und was man sonst noch so abfragen kann, weiss ich grade nicht auswendig.
Aber interessantes Thema das
Dann noch Cookies setzen wie blöd und was man sonst noch so abfragen kann, weiss ich grade nicht auswendig.
Aber interessantes Thema das
gepostet vor 18 Jahre, 5 Monate von kudi
Beachte dabei aber, dass alles was du vom Client speicherst auch vom Client kommt und dieser dir etwas falsches senden kann.
Es ist z.B. auch möglich in der Variable $_SERVER['REMOTE_ADDR'] einen Text zu haben wenn der Client die Antwort auf diese Abfrage fälscht.
Weitere Informationen sind hier nachzulesen.
Lg Kudi
Edit: Browser kannst du auch noch sehr viel abfragen.
Es ist z.B. auch möglich in der Variable $_SERVER['REMOTE_ADDR'] einen Text zu haben wenn der Client die Antwort auf diese Abfrage fälscht.
Weitere Informationen sind hier nachzulesen.
Lg Kudi
Edit: Browser kannst du auch noch sehr viel abfragen.
gepostet vor 18 Jahre, 5 Monate von BLUESCREEN
Original von The_Alien
Die Mac Adresse wäre da ganz gut aber leider kann man die (soweit ich weiß) nicht ermitteln.
Stimmt.
Original von kudi
Es ist z.B. auch möglich in der Variable $_SERVER['REMOTE_ADDR'] einen Text zu haben wenn der Client die Antwort auf diese Abfrage fälscht.
Quatsch... Erstmal ist das keine "Abfrage des Servers" und damit gibt es auch keine "Antwort des Clients" sondern die IP wird vermutlich einfach vom Webserver an PHP weitergegeben. So lange der Webserver also richtig funktionert sollten in der IP-Angabe keine Sonderzeichen auftreten. Außerdem steht die IP immer als String in $_SERVER und nicht als Zahl.
gepostet vor 18 Jahre, 5 Monate von kudi
1. www.securityfocus.com/infocus/1674
2. Sagte ich was von einer Zahl?
3. Antwort auf Frage war vielleicht unglücklich ausgedrückt
4. $_SERVER['HTTP_USER_AGENT'] kann man einfach fälschen(google). Warum also nicht auch $_SERVER['REMOTE_ADDR'], wobei der Aufwand um ein vieles größer ist.
5. phpreferenz.de/phpsec.pdf bietet noch ein paar Informationen
2. Sagte ich was von einer Zahl?
3. Antwort auf Frage war vielleicht unglücklich ausgedrückt
4. $_SERVER['HTTP_USER_AGENT'] kann man einfach fälschen(google). Warum also nicht auch $_SERVER['REMOTE_ADDR'], wobei der Aufwand um ein vieles größer ist.
5. phpreferenz.de/phpsec.pdf bietet noch ein paar Informationen
gepostet vor 18 Jahre, 5 Monate von Kampfhoernchen
Wenn du die RemoteAddr fälscht, kommt aber die Antwort nicht mehr zurück (hab ich schon probiert).
gepostet vor 18 Jahre, 4 Monate von BLUESCREEN
Original von kudi
1. www.securityfocus.com/infocus/1674
Beschreib mal ein Bedrohungsszenario, auf das du hinauswillst
Original von kudi
2. Sagte ich was von einer Zahl?
Jedenfalls sagtest du, dass man nicht davon ausgehen kann, dass es eine IP ist:
Original von kudi
Es ist z.B. auch möglich in der Variable $_SERVER['REMOTE_ADDR'] einen Text zu haben
...was so nicht stimmt.
Original von kudi
4. $_SERVER['HTTP_USER_AGENT'] kann man einfach fälschen
Das wird auch über den HTTP-Request an den Server gesendet und der Client kann reinschreiben, was er will.
Im Gegensatz dazu steht die IP im Header des Paketes, ist definitiv 4 Byte lang (bei IPv4) und muss je nach Ziel einen Wert enthalten, bei dem auch die Kommunikation aufrecht erhalten werden kann.
Original von kudi
Warum also nicht auch $_SERVER['REMOTE_ADDR']
Das ist ein großer Unterschied - REMOTE_ADDR wird immer eine IP bleiben.
Original von kudi
5. phpreferenz.de/phpsec.pdf bietet noch ein paar Informationen
Da steht kein einziges Wort über "REMOTE_ADDR"...
gepostet vor 18 Jahre, 4 Monate von zufall_
gut geeignet ist auch die grösse des nutzbaren browserfensters. da fast jeder seinen browser etwas anders eingerichtet hat funktioniert das super. es ergeben sich zwar ein paar überschneidungen bei standartauflösungen und standartbrowsern aber es ist ein weiterer punkt im fingerprint.
(document.body.clientHeight/document.body.clientWidth)
sicher kann man vieles fälschen aber die praxis zeigt, das jeder früher oder später einen fehler macht.^^
wichtig ist, die einzelnen punkte des fingerprints intelligent zu speichern, weil es auch durchaus vorkommt das ein user regelmässig an verschiedenen computern spielt. dabei kommt dann ein haufen daten zustande.
(document.body.clientHeight/document.body.clientWidth)
sicher kann man vieles fälschen aber die praxis zeigt, das jeder früher oder später einen fehler macht.^^
wichtig ist, die einzelnen punkte des fingerprints intelligent zu speichern, weil es auch durchaus vorkommt das ein user regelmässig an verschiedenen computern spielt. dabei kommt dann ein haufen daten zustande.
gepostet vor 18 Jahre, 4 Monate von kudi
Mh hab das nochmal nachgefragt und du hast wohl Recht.
Gut tut leid
Gut tut leid
gepostet vor 16 Jahre, 9 Monate von General Crime
Hm ist vieleicht nicht ganz passend kann sein das ich die Funktion nur nicht checke.
Habe bei mir zum test mal print($_ENV); getätigt und da schön viele daten gesehen die man speichern könnte aber im web funktioniert das nicht da ist $_ENV leer jedenfals das was ich Speichern wollte!
Habe bei mir zum test mal print($_ENV); getätigt und da schön viele daten gesehen die man speichern könnte aber im web funktioniert das nicht da ist $_ENV leer jedenfals das was ich Speichern wollte!
gepostet vor 16 Jahre, 9 Monate von KoMtuR
Ich denke mal ein ordentlichen Fingerprint wirst du nur durch richtig große Datenbanken bekommen. Google hat da einen entscheidenden Vorteil Ich sage nur Google Analytics. Durch dein Surfverhalten (und wer bitte nutzt heute nicht Analytics @ GN ).
Durch Proxies kannste viele Sachen sicher ausschließen, die du loggen kannst. Aber ich behaupte mal, dass dies wenn überhaupt, vielleicht 10% der Spieler ist. Geo-Datenbank aufbauen und schon haste bei den restlichen 90% eine Art Standort, welcher sich ja kaum ändern wird. Dann halt die diversen Javascript Sachen, wobei dies dann auch nicht wirklich sicher ist, wenn der User kein Javascript aktiviert hat (gibt halt immer solche Situationen).
Diese Veränderungen über mehrere Wochen oder Monate protokolliert wird sicher reichen, damit du einen brauchbaren Fingerprint erstellen kannst. Also ist der User immer von 8 - 15 Uhr mit einer Browsereinstellung online und dann ab 18 Uhr auf einmal andere Einstellungen, kannste dir sicher sein, dass er sicherlich arbeitet oder ausserhalb was macht. Wenn dann halt irgendeine andere Einstellung da rein kommt, dann wirste das ja merken und reagieren können. Auch könnte man das Klickverhalten bei einem Spiel protokollieren. Sicher wird sich jeder Nutzer ein bestimmtes Muster angewöhnen. Zuerst Übersicht, dann Bauliste, dann Rangliste usw.
Inaktivität? Ist der User immer nur halbherzig beim Spiel und ist oft mehrere Minuten inaktiv auf der Webseite? Sicher eine Variable wert, die da gespeichert werden sollte.
Referers sind vielleicht auch wichtig. Gewohnheit halt
Antwortet der User auf Nachrichten, wenn er sie sieht oder macht er das immer später, wenns ihn langweilig wird?
Ich glaube ich könnte die Liste hier weiter führen und jeden Mist aufzählen, den man zu einem "Fingerabdruck" (oder eher Gewohnheiten) machen kann. Hast du Minispiele im Game...achnee ich hör lieber auf
edit: Achja materielle Dinge, wie Browserfenster und so werden dich nciht wirklich weit bringen. Ich sag nur Vnc.
Durch Proxies kannste viele Sachen sicher ausschließen, die du loggen kannst. Aber ich behaupte mal, dass dies wenn überhaupt, vielleicht 10% der Spieler ist. Geo-Datenbank aufbauen und schon haste bei den restlichen 90% eine Art Standort, welcher sich ja kaum ändern wird. Dann halt die diversen Javascript Sachen, wobei dies dann auch nicht wirklich sicher ist, wenn der User kein Javascript aktiviert hat (gibt halt immer solche Situationen).
Diese Veränderungen über mehrere Wochen oder Monate protokolliert wird sicher reichen, damit du einen brauchbaren Fingerprint erstellen kannst. Also ist der User immer von 8 - 15 Uhr mit einer Browsereinstellung online und dann ab 18 Uhr auf einmal andere Einstellungen, kannste dir sicher sein, dass er sicherlich arbeitet oder ausserhalb was macht. Wenn dann halt irgendeine andere Einstellung da rein kommt, dann wirste das ja merken und reagieren können. Auch könnte man das Klickverhalten bei einem Spiel protokollieren. Sicher wird sich jeder Nutzer ein bestimmtes Muster angewöhnen. Zuerst Übersicht, dann Bauliste, dann Rangliste usw.
Inaktivität? Ist der User immer nur halbherzig beim Spiel und ist oft mehrere Minuten inaktiv auf der Webseite? Sicher eine Variable wert, die da gespeichert werden sollte.
Referers sind vielleicht auch wichtig. Gewohnheit halt
Antwortet der User auf Nachrichten, wenn er sie sieht oder macht er das immer später, wenns ihn langweilig wird?
Ich glaube ich könnte die Liste hier weiter führen und jeden Mist aufzählen, den man zu einem "Fingerabdruck" (oder eher Gewohnheiten) machen kann. Hast du Minispiele im Game...achnee ich hör lieber auf
edit: Achja materielle Dinge, wie Browserfenster und so werden dich nciht wirklich weit bringen. Ich sag nur Vnc.