Jestem założycielem dużej, tak zwanej "toplisty". Użytkownicy mogą przesłać swoją stronę do listy najlepszych i zdobyć wyższą pozycję, zdobywając głosy za swój wpis na toplistę.Identyfikacja unikalnego gościa, zaawansowany sposób? (PHP/Java)
Przeciętny gość jest młody, głównie w wieku 13-20 lat. Przynoszą korzyści, ale także wady. Przez ostatnie 5 lat aktywnie walczyłem z "oszustami", którzy używają robotów do zdobywania głosów. Te roboty używały serwerów proxy, różnych agentów użytkownika, a nawet potrafiły rozwiązywać wiele rodzajów pytań CAPTCHA (reCAPTCHA, SolveMedia i niestandardowe captcha). Korzystanie z tych robotów znacznie się zmniejszyło, odkąd wprowadziłem nowy system, który tworzy losowy układ i ładuje 1 z 15 różnych systemów CAPTCHA przy każdej ładowanej stronie. To już nie jest problem.
Ludzie przeszli teraz na ręczne oszukiwanie. Korzystają z wtyczek do przeglądarek, które zmieniają swój adres IP praktycznie na każdym ładowaniu strony (np .: https://addons.mozilla.org/en-us/firefox/addon/ipflood/). Naprawdę nie mogę znaleźć sposobu na walkę z tym, ale to bardzo poważny problem. Trudno w to uwierzyć, ale te dzieciaki rozwiązują nawet ręcznie 5000 pytań captcha, które trwają wieki.
Moje pytanie brzmi, czy ktokolwiek może mi pomóc wymyślić sposób rozwiązania tego problemu? Używam ustawień plików cookie i sesji, ale oni zaczęli je zauważać i usuwać. Zamierzam wprowadzić konta użytkowników i sprawić, że będzie bardziej interesujące głosowanie za pośrednictwem konta, ale nie chcę wymagać kont. Wątpię, czy tak jest, ale czy istnieje jakakolwiek inna metoda walki z oszustami (może to być jak aplikacja internetowa Java, która omija proxy ustawione w przeglądarce i przekazuje prawdziwe IP do strony, jeśli to możliwe?)? Czy powinienem po prostu zrezygnować i zatrudnić ludzi do codziennych kontroli, aby sprawdzić, czy strona zyskuje tak wiele głosów?
Tam, gdzie jest wola, jest sposób. Zrób swój login do głosowania, a także przechowuj tam swoje ip, z którymi się zalogujesz, jeśli zmienia się 5k razy dziennie, a także zna ustawione żetony CSRF na każdy głos, w trakcie sesji i w pliku cookie, wykryj boty, sprawdzając, czy również pobierają zasoby takie jak obrazy, css. –
Po prostu zdałem sobie sprawę, że zapomniałem wspomnieć o głosowaniu jest możliwe tylko raz na 24 godziny. Nie chcę wymagać logowania użytkownika, wątpię, że jest milion osób chętnych do założenia konta, większość z nich przestałaby na pewno korzystać z mojej strony internetowej. Ułatwiam korzystanie z konta, np. Usuwanie czasów oczekiwania i captcha. Wydają się to lubić. Ograniczenie do 1 głosu na 24 godziny jest łatwe, ponieważ mogę sprawdzić nazwy użytkowników zamiast adresów IP. – Jason
Naprawdę interesujące pytanie. –