Wykrywanie" unikalnego " anonimowego użytkownika

Jest impossible aby zidentyfikować użytkownika lub żądanie jako unique, ponieważ oszukanie jest trywialne.

Istnieje jednak kilka metod, które w połączeniu mogą utrudnić próby oszustwa i nadać użytkownikowi quasi-unikalny status.

Znam następujące rzeczy:

  1. adres IP-przechowuje adres IP każdego odwiedzającego w jakiejś bazie danych
    • można sfałszować
    • wiele komputerów / użytkowników może mieć ten sam adres
    • użytkownicy z dynamicznym IP adresy (niektórzy ISP je wystawiają)
  2. śledzenie plików Cookie-przechowuje plik cookie na odwiedzającego. Odwiedzający, którzy go nie mają, są uważani za " unikalnych"
    • można sfałszować
    • Pliki cookie można zablokować lub wyczyścić za pomocą przeglądarki

Czy istnieje więcej sposobów śledzenia nieautoryzowanych (bez logowania, bez uwierzytelniania) odwiedzających witrynę?

Author: Marcel Korpel, 2010-10-15

4 answers

Istnieje wiele sposobów na wykrycie "unikalnego" użytkownika. Wiele z tych metod jest używanych przez naszych marketingowych przyjaciół. To jeszcze łatwiejsze, gdy masz włączone wtyczki, takie jak Java, Flash itp.

Obecnie moją ulubioną prezentacją śledzenia opartego na plikach cookie jest evercookie (http://samy.pl/evercookie/). tworzy" trwały " plik cookie za pomocą wielu mechanizmów przechowywania, przeciętny użytkownik nie jest w stanie spłukać, konkretnie używa:

  • Standardowy HTTP Cookies
  • Local Shared Objects (Pliki Cookie Flash)
  • Silverlight Isolated Storage
  • przechowywanie plików cookies w wartościach RGB automatycznie generowane, wymuszone buforowane PNGs używanie znacznika Canvas HTML5 do odczytu pikseli (cookies) back out
  • przechowywanie plików cookie w historii stron internetowych
  • przechowywanie plików cookie w http ETags
  • przechowywanie plików cookie w pamięci podręcznej WWW
  • window.name buforowanie
  • Internet Explorer Userdata storage
  • HTML5 Session Storage
  • HTML5 Local Storage
  • HTML5 Global Storage
  • przechowywanie baz danych HTML5 przez SQLite

Nie pamiętam adresu URL, ale jest też strona, która mówi ci, jak "anonimowy" jesteś oparty na wszystkim, co można zebrać z przeglądarki internetowej: jakie wtyczki załadowałeś, jaka wersja, jaki język, screensize,... Następnie możesz wykorzystać wtyczki, o których mówiłem wcześniej (Flash, Java,...), aby dowiedzieć się jeszcze więcej o użytkowniku. Będę edytować ten post, gdy znajdę stronę, która pokazała Ty "jaki jesteś wyjątkowy" a może ktoś wie "" właściwie wygląda to tak, jakby każdy użytkownik był w pewien sposób wyjątkowy!

--EDIT --

Znalazłem stronę, o której mówiłem: Panopticlick - "jak wyjątkowa i śledząca jest twoja przeglądarka" .

Zbiera takie rzeczy jak User Agent, nagłówki HTTP_ACCEPT, wtyczki przeglądarki, Strefa czasowa, rozmiar i głębokość ekranu, czcionki systemowe (poprzez Javę?), Ciasteczka...

Mój wynik: Twój odcisk palca przeglądarki wydaje się być unikalny wśród do tej pory przetestowano 1 221 154

 55
Author: Dennis G,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-15 07:46:06

Panopticlick ma dość dopracowaną metodę sprawdzania unikalnych użytkowników korzystających z odcisków palców. Oprócz adresu IP i user-agenta używała takich rzeczy jak Strefa czasowa, rozdzielczość ekranu, czcionki zainstalowane w systemie i wtyczki zainstalowane w przeglądarce itp., więc wymyśla bardzo odrębny identyfikator dla każdego użytkownika bez przechowywania czegokolwiek w swoich komputerach . Fałszywe negatywy (znalezienie dwóch różnych użytkowników z dokładnie tym samym odciskiem palca) są bardzo rzadkie.

Problem z tym podejściem jest to, że może przynieść pewne fałszywie dodatnie, tzn. uważa tego samego Użytkownika za nowego, jeśli zainstalowali nową czcionkę na przykład. Czy to jest w porządku, czy nie zależy od twojej aplikacji, jak sądzę.

 7
Author: Jakob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-15 07:47:29

Tak, nie da się odróżnić anonimowych gości ze 100% pewnością. Najlepsze, co możesz zrobić, to zebrać informacje, które masz i spróbować odróżnić jak najwięcej odwiedzających, jak możesz.

Jest jeszcze jeden element infomacji, który możesz wykorzystać:

  1. ciąg przeglądarki
    • nie jest unikalny, ale w połączeniu z innymi informacjami zwiększa rozdzielczość.

Jeśli chcesz odróżnić odwiedzających ze 100% pewnością, to muszą się zalogować.

 2
Author: Guffa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-15 07:29:47

Moim zdaniem nie ma pewnego sposobu, aby to osiągnąć. Spośród opcji, Pliki cookie są najbardziej prawdopodobne, aby dać rozsądnie realistyczną liczbę. Serwery NAT i proxy mogą maskować adresy IP dużej liczby użytkowników, a dynamiczna alokacja adresów IP zmyli wyniki dla wielu innych

Czy rozważałeś użycie np. Google Analytics lub podobnego? Robią unikalne śledzenie odwiedzających w ramach swojej usługi i prawdopodobnie mają dużo więcej pieniędzy do rzucenia na znalezienie heurystyczne rozwiązania tego problemu niż ty Czy ja. tylko taka myśl!

 2
Author: Paul Russell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-15 07:32:00