it-swarm.com.de

Möglichkeiten zum Erstellen eines eindeutigen Benutzerfingerabdrucks in PHP

Was ist der beste Weg, um einen "Fingerabdruck" der Benutzer-Einzigartigkeit in PHP zu erstellen?

Zum Beispiel:

  1. Ich könnte die IP-Adresse eines Benutzers Als "Fingerabdruck" verwenden, jedoch Könnten sich mehrere andere Benutzer auf derselben IP-Adresse befinden
  2. Ich könnte Das IP + User-Agent des Benutzers als Den "Fingerabdruck" verwenden, jedoch kann ein einzelner Benutzer Einfach von Safari auf Firefox wechseln und erneut sein als einzigartig angesehen

Im Idealfall beschriftet der Fingerabdruck die "Maschine" eher als Browser oder "IP", aber ich kann mir nicht vorstellen, wie dies möglich ist.

Offen für Ideen/Vorschläge, wie Sie Ihre Benutzer eindeutig identifizieren und welche Vor- und Nachteile Ihre Methode hat.

20
So Over It

Diese Website deckt so ziemlich alle Informationen ab, die Sie zur Unterscheidung von Personen über einen Browser verwenden können.

https://panopticlick.eff.org/

JavaScript, Java und Flash helfen viel.

13
JAL

einfachste und beste Möglichkeit: Verwenden Sie phps session-management - Jeder Client erhält eine ID, die in einem Cookie gespeichert wird (sofern aktiviert) oder als Get-Variable für jeden Link und jedes Formular angegeben wird. (Alternativ können Sie selbst einen Cookie setzen). aber: dies "Fingerabdrücke" nur den Browser - wenn der Benutzer seinen Browser ändert, seine Cookies oder was auch immer löscht, können Sie es nicht mehr identifizieren.

das Identifizieren jedes Clients über IP ist normalerweise eine schlechte Idee und funktioniert nicht. Clients, die denselben Router verwenden, haben die gleiche IP-Adresse - Clients, die über einen Proxy-Pool verbunden sind, können bei jeder Seitenladung eine andere IP-Adresse haben.

wenn Sie eine Lösung benötigen, die vom Client nicht auf einfache Weise manipuliert werden kann, versuchen Sie, eine Kombination der folgenden zu verwenden. Verwenden Sie dabei alle vom Client-Browser unterstützten Optionen und vergleichen Sie sie bei jedem Laden der Seite:

  • "normale" HTTP-Cookies 
  • Lokale gemeinsam genutzte Objekte (Flash-Cookies) 
  • Speichern von Cookies in RGB-Werten von automatisch generierten, erzwungenen zwischengespeicherten PNG-Dateien mit dem HTML5-Canvas-Tag, um Pixel (Cookies) wieder zu lesen 
  • Speichern von Cookies in und Auslesen des Webprotokolls 
  • Speichern von Cookies in HTTP ETags 
  • Internet Explorer-Benutzerdatenspeicherung 
  • HTML5-Sitzungsspeicher 
  • Lokaler HTML5-Speicher 
  • HTML5 Globaler Speicher 
  • HTML5-Datenbankspeicherung über SQLite

es gibt eine Lösung namens evercookie , die all dies implementiert

10
oezi

Es gibt noch etwas anderes zu berücksichtigen, die öffentliche IP-Adresse eines Benutzers kann sich auch bei jedem Laden einer Seite ändern.
Es gibt mehrere Organisationen, die öffentliche IP-Adressen in ihren Routern wechseln, um den Datenverkehr auszugleichen.

3
jmserra

Eine 100% ige Zuverlässigkeit ist nicht garantiert, aber die Kombination einiger gängiger Methoden kann zu aussagekräftigen Ergebnissen führen

  • Benutzer wechseln im Allgemeinen keine Browser. Eine Überkomplikation in Ihrem Algorithmus, nur um die technische Perfektion zu erreichen, ist die Anstrengung nicht wert.
  • Sie gehören sicherlich zu den Top 100-Websites, wenn Sie mehrere Benutzer von derselben IP erwarten können. Nimm es nicht persönlich, aber du bist einfach nicht so beliebt.

Nehmen Sie die einfachste mögliche Route, die funktionieren könnte, und passen Sie sich im Laufe der Zeit an, wenn es notwendig erscheint.

3
pestaa

Ich habe drei verschiedene Computer, verschiedene Handheld-Geräte und viele von ihnen haben verschiedene Browser installiert. Ich benutze all diese austauschbar zu Hause und nehme sie an anderen Orten mit, also grundsätzlich auf verschiedenen IP-Adressen. Ich möchte darauf hinweisen, dass der Fingerabdruck eines Browsers oder einer Maschine für diese Angelegenheit niemals narrensicher ist, wenn es Ihr Ziel ist, eine Person zu blockieren.

Ich empfehle Ihnen einen anderen Ansatz. Beurteilen Sie anhand der nicht eindeutigen Informationen, die Ihnen zur Verfügung stehen und die die Identität Ihres verbotenen Benutzers vorschlägt (dieselbe IP-Adresse oder derselbe Benutzer-Agent, wenn dies nicht üblich ist, oder einige der Browser-Fingerabdruckmethoden des Javascript-Browsers, z. B. verfügbare Schriftarten, verfügbare Plugins und nicht standardisierte) Fenstergröße usw.) und verlangen von diesen verdächtigen Besuchern eine höhere Form der Identitätsüberprüfung - wie beispielsweise bei Facebook, Google+ oder Twitter. Dann können Sie nachsehen, ob das Social Media-Konto echt ist oder nur erstellt wurde, um es zu umgehen. Es gibt auch Telefonüberprüfungs-APIs für den Fall, dass Ihre Benutzer nicht mit Social Media vertraut sind und abhängig davon, wie wertvoll es für Sie ist, dass Benutzer die Sperrung nicht umgehen.

0