![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tak się ostatnio zastanawiałem na jakiej zasadzie działają polecane linki. Znaczy, że ktoś daje linka:
http://domena.pl/?referer=34 gdzie referer to id osoby, na której konto zostaje nabity punkcik za klikniecie w ten link. No i jak się tu zabezpieczyć przed tym, że ktoś będzie klikał ciągle w ten link? No na pierwszy ogień idzie IP - zapamietuje IP skąd kliknięto i nie liczę wiecej punktów z tego IP lub też nie liczę przez pewien okres, np 2 dni. No ale IP można mieć inne, np. neostrada. No to walimi ciacho - ciacho można usunąć. No to sprawdzamy dane przegladarki, systemu, i na tej podstawie określamy pseudounikalność. Coś jeszcze? Czy takie systemy linków opierają się tylko na analizie IP czy może jednak kombinują bardziej?
Powód edycji: [nospor]: ort
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 300 Pomógł: 32 Dołączył: 31.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
CTR(Click-Through-Ratio) - jak ktoś ma wyższy współczynnik niż średnia przyglądasz się adresom IP czy nazwą hostów, sprawdzasz czy nie ma na stronie nabijających odwiedziny skryptów lub nie zachęca do klikania a potem banujesz =) W programach partnerskich nie ma zazwyczaj takich problemów - bo nie liczy się ile osób wejdzie przez link, tylko ile później dokona np. zakupu.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat W programach partnerskich nie ma zazwyczaj takich problemów - bo nie liczy się ile osób wejdzie przez link, tylko ile później dokona np. zakupu. No wlasnie nie będzie tu zakupówNie wiem o jakim ty CTR myslisz, ale mi chodzi po glowie taki: liczba wyswietlen do liczby klikniec. Tylko ze tu nie bedzie wyswietlen jako takich, bo link moze isc przez GG, fora i inne. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Zrób tak jak na forach, zamiast podawać link to wpisujesz nazwę użyszkodnika i jemu (o ile istnieje) dodasz w bazie punkcik.
![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@fifi wybacz ale nie rozumiem
![]() Mogłbys rozwinąć mysl? Czy ma się roznic podanie nazwy usera od jego id? edit down: dziękować, poprawione ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 9 Dołączył: 28.08.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Nosporze kochany. "skąd" nie "z kąd"
![]() -------------------- "Zero 'errorów' nic nie oznacza. Walidator sprawdza tylko składnię. Kod strony jest jak psu z d**y wyjęty i to, że walidator świeci się na zielono nie oznacza, że ta kupa jest ładna" - mike
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
@fifi wybacz ale nie rozumiem ![]() Może to ja nie zrozumiałem. Myślałem bardziej o czymś takim jak przy rejestracji, ktoś się rejestruje i może podać nick polecającego. Albo Ty rozwiń swoją myśl, do czego to potrzebujesz tego, bo może ja źle rozumuję. Jeżeli chodzi Ci o inne polecanie, to ktoś kto jest polecającym (i mu zależy na tych pkt.) to w jego interesie jest podać odpowiedni link dla znajomego/znajomej, w tym przypadku można pokusić się o generowanie jednorazowych linków do polecania. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
nospor: napisz do czego to potrzebujesz to Ci powiem jak to zrobić. Mam już spore doświadczenie w tej akurat kwestii. Jeśli nie chcesz na forum publicznym to możesz przez PW.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
nospor: napisz do czego to potrzebujesz to Ci powiem jak to zrobić. Mam już spore doświadczenie w tej akurat kwestii. Jeśli nie chcesz na forum publicznym to możesz przez PW. Forum jest chyba po to, aby kolejni borykający się z tym problemem mogli znaleźć na nim odpowiedź. ![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Może to ja nie zrozumiałem. Myślałem bardziej o czymś takim jak przy rejestracji, ktoś się rejestruje i może podać nick polecającego. No wlasnie to nie to miało byc.Cytat napisz do czego to potrzebujesz to Ci powiem jak to zrobić. No to spróbuję inaczej to opisac ![]() Zarejestrowany użytwkonik w serwisie ma swoj unikalny link, np: http://serwis.pl/user/5 Użytkownik ten dodaje ten swoj link do różnych serwisów i gdy ktoś kliknie w jego link to ten użytkownik, którego unikalny link wciśnięto, dostaje punkty. No i chodzi o to, by się nie okazało, że koleś sam sobie klika albo dał kumplom by klikali non stop -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Zgadzam się z tym w zupełności ale być może nospor nie chce na forum publicznym pisać, że potrzebuje tego w takim i takim celu
![]() A jeśli chodzi o tego typu działania to jednak znajomość problemu pozwala dobrać najlepsze rozwiązanie. Wiem, że może powinienem ale nie chce mi się pisać o każdym możliwym rozwiązaniu bo to by było dużo pisania - lepiej napisać o tym co jak najbardziej nadaje się do rozwiązania takiego problemu ![]() |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Doskonale rozumiem zasade dzialania forum, problem opisany publicznie w poprzednim poscie. Koccuro to dziela, inni tez
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A użyszkodnik ma tylko kliknąć w link? Czy może ma się później zarejestrować etc. ?
Jeżeli ma przejść na stronę przez link usera i coś na niej wykonywać (choćby tylko czytać artykuły) to możesz zrobić na sesjach coś w ten deseń: Wrzucasz jego ip do sesji. Ustalasz sobie, że ma wejść na x podstron (z zaznaczeniem, że mają być unikalne). Potem tylko do sesji na podstronach dodajesz informację, że na tej podstronie był i zwiększasz licznik. Przy odpowiednim stanie licznika dodajesz jego ip do bazy (że już odwiedził), następnie dodajesz punkty użyszkodnikowi od którego linka dostał. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Czy może ma się później zarejestrować etc. No własnie nie musi nic robic, tylko kliknąc - to niestety utrudnia sprawe.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
No własnie nie musi nic robic, tylko kliknąc - to niestety utrudnia sprawe. Pozostaje tylko zapisać jego ip w bazie (nawet w neo każdy użyszkodnik ma swój zakres ip z tego co wiem). Do tego wysyłasz mu cookie, jeżeli nie ma cookie to sprawdzasz czy jego ip jest w bazie - jeżeli nie ma to dodajesz pkt. jeżeli jest to wysyłasz mu cookie. Drugi pomysł: Możesz pokusić się o wyświetlenie jakiegoś alerta w javascript i trzeba kliknąć po wejściu na stronę np. ok i ajaxem sobie wyślesz info (+ jakiś jednorazowy klucz, aby curlem tak łatwo nie można zrobić tego) Ogólnie to nie ma zabezpieczeń, który nie można obejść - koniec kropka. : ) Możesz tylko utrudnić zadanie. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Pozostaje tylko zapisać jego ip w bazie (nawet w neo każdy użyszkodnik ma swój zakres ip z tego co wiem). Do tego wysyłasz mu cookie, jeżeli nie ma cookie to sprawdzasz czy jego ip jest w bazie - jeżeli nie ma to dodajesz pkt. jeżeli jest to wysyłasz mu cookie. Tak tez od razu pomyslalem, ale chciałem się własnie dowiedziec czy jest to wystarczające zabezpieczenie - chodziło mi własnie o zmienność IPCytat Możesz pokusić się o wyświetlenie jakiegoś alerta w javascript i trzeba kliknąć po wejściu na stronę np. ok i ajaxem sobie wyślesz info (+ jakiś jednorazowy klucz, aby curlem tak łatwo nie można zrobić tego) Przy ludziach klikaczach ze zmiennym IP to też nic nie da - równie dobrze moze byc samo IP. Aczkolwiek utrudnia napewno to już napisanie bota.Cytat Ogólnie to nie ma zabezpieczeń, który nie można obejść - koniec kropka. : ) Możesz tylko utrudnić zadanie. Doskonale zdaję sobie z tego sprawę.Chciałem jednak poznać opinie ludzi co już tym się bawili i mają jakieś doswiadczenia, które mogą pomoc w utrudnianiu tej "sprawy" ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Ok już widzę
![]() To tak - musisz zapisywać takie informacje: - czas kliknięcie (unix timestamp) - id osoby, której link kliknięto (jeszcze lepiej jak całą treść linka dodatkowo zapiszesz) - ip z jakiego pochodzi kliknięcie - id z ciasteczka, tutaj dobrze jest je sprytnie schować (wiadomo - mogą skasować ale i tak warto zapisać) - informacje o przeglądarce (tutaj bardziej potrzebne jest id z tabeli linkującej w której masz wszystkie browser info jaki się pojawiły) - informacje o referrer (także można zastosować tablicę linkującą) Oczywiście opisuję tutaj sposób, który zbiera sporo informacji więc trzeba uprościć sobie na tyle na ile się chce. Przetwarzanie danych: Należy co jakiś czas odpalać skrypt, który będzie informacje o przeglądarce rozbijał na fragmenty i zapisywał w bazie (czyli rozpoznawał typ, wersję przeglądarki, systemu operacyjnego, używanej wersji .NET itp.). Oczywiście jak podzielisz to już zależy od Ciebie ![]() Referrery także przetwarzasz skryptem według kryteriów jakie uznasz za skuteczne W efekcie mamy tablice z listą typów przeglądarek i danych z nich wyciągniętych, do tego dochodzi lista referrerów przetworzonych. W zapytaniach będziemy jeszcze używać tablic geolokalizacyjnych. Algorytm: Zapisujemy każde kliknięcie i zwiększamy nim ilość kliknięć. Co jakiś czas odpalamy skrypt, który sprawdza zebrane dane i na podstawie raportu: blokujemy konto, usuwamy możliwość korzystania z systemu, odejmujemy kliknięcia lub nie robimy nic. Skrypt sprawdzający to po prostu olbrzymie zapytanie dynamiczne (czyli po prostu funkcja składowana bazy danych, która wykonuje dynamiczne zapytania) które daje w efekcie raport. Skrypt sprawdza wyznacza współczynnik podobieństw kliknięć - jeśli jest zbyt wielki lub zbyt mały wtedy należy wygenerować raport szczegółowy dla danego użytkownika. Można dołożyć automatyczne działanie na podstawie raportu. Dzięki temu mechanizmowi można wyłapać nawet multikonta - bo nagle okaże się, że rozkład kliknięć jest niemal identyczny. W wielu rozwiązaniach łączyłem te dane zebrane w tabeli z danymi w tabeli aktywności - jeśli odsetek osób, które są unikalne a tylko klikną i nic więcej na stronie nie robią to to jest podejrzane. Inne rozwiązania: Captcha i podobne są półśrodkiem - widziałem projekty studentów drugiego roku elektroniki i telekomunikacji na jednej z politechnik, które to projekty dawały sobie radę ze sporą ilością już dostępnych rozwiązań. Dźwiękowa captcha także nie daje rozwiązania. Częściowym rozwiązaniem może być podwójny głos - czyli klikasz w link a potem musisz podać swój email i na niego dostajesz list z jednorazowym linkiem do kliknięcia. Ogólnie to należy łączyć rozwiązania blokujące zliczenie kliknięcia (captcha, podwójny głos, blokada w ciasteczku itp.) z analizą raportu. Wtedy szanse na znalezienie oszusta bardzo mocno rosną. Wiadomo, że zawsze ktoś może się przecisnąć ale jeśli użyjemy odpowiedniej kombinacji środków to dla potencjalnego oszustwa gra może okazać się niewarta świeczki. Oczywiście należy jeszcze rozważyć czy warto się zabezpieczać - takie zabezpieczenia potrafią sprawić, że ludzie nie chcą korzystać z serwisu itp. Dodatkowo większy ruch na serwisie to ... ![]() To tak w skrócie jak wygląda sprawa - dokładne rozwiązanie się projektuje pod specyficzny problem. Jeśli w grę wchodzi prestiż w grze to nie ma co się wysilać, jeśli zaś wchodzą pieniądze to dla spokoju własnego tyłka warto coś z tym zrobić. Wiadomo, że ilość zebranych danych może być olbrzymia i ich przetwarzanie zajmować sporo czasu więc trzema pomyśleć samemu czy warto ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
fju, fju.... nieźle
![]() Już mam o czym myśleć. Dzięki panowie. ps: jak ktoś ma coś jeszcze do dodania to się proszę nie krępować i walić smiało ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 678 Pomógł: 124 Dołączył: 26.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ja chcę coś dodać! 2+4
![]() A tak na serio, to chyba nikt nie wspomniał, że kiedy mamy ciasteczko "blokujące" to dobrze by było uaktualnić ip tej osoby w bazie. Bo ktoś zmieni sobie ip, wejdzie, zobaczy że dalej go blokuje to usunie ciasteczka i w tedy będzie miał dostęp, a tak to go dodatkowo zniechęcimy ![]() ![]() -------------------- Napisane z palca! <- to tak dla lansu ;)
FancyStudio.pl - Tworzenie Stron WWW w Oparciu o XHTML, CSS, JS, PHP i MySQL. Mój blog :: Portfolio Fotograficzne Igora Biedrawy |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 113 Pomógł: 5 Dołączył: 12.09.2006 Skąd: Pruszków/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mozna tez zastosowac inny mechanizm, ktory moznaby wprowadzic gdyby nam zalezalo na rownosci (mniej wiecej rzecz jasna) rozdzialu punktow. W grach kompterowych (a glownie o takie browser-game chodzi w linkach zliczajacych) czesto wystepuje jakas forma "konta VIP", co objawia sie pewnymi bonusami, ale najczesciej po zaplaceniu za takowe. Czyli motyw potencjalnej nierownosci graczy jest immanentnie wpisany w mechanizm gry.Zatem tam wielokrotne kliki sa zasadniczo sprawdzane o tyle by ktos nie zdobyl za duzo punktow pod katem tego, iz inni za to placa, a taki kolo sobie napisal skrypcik i omija system. I takich sie probuje wylapac - mimo to nie sa to AZ TAK SKUTECZNE rozwiazania, gdyz gdyby nie dalo sie czasem czegos obejsc to ludzie przestaliby grac
![]() ![]() Co do zabezpieczenia zas - moznaby tez poza wymienionymi przez Kocurro zabezpieczen dorzucic tez ew. kolejkowanie klikow. Czyli wprowadzamy z gory limit - codziennie w ten sposob mozemy dobonusowac uzytkownika np. 20 kliknieciami w link. Jesli jest ich wiecej to bonus z tego tytulu zostanie dodany dopiero nastepnego dnia. W ten sposob nawet maksymalni cheaterzy nie beda mieli az tak duzego wplywu na gre. -------------------- "Człowiek dążący do swego celu może być skuteczny tylko w przypadku, jeśli każdą minutę swego życia wykorzysta z maksymalną korzyścią dla osiągnięcia zaplanowanego celu. Jeśli stworzył dla siebie system kar i karze sam siebie za każdą zmarnowaną minutę. Człowiekowi w zupełności wystarczą 3-4 godziny snu, cały pozostały czas może być wykorzystany dla osiągnięcia upragnionego celu." -- Wiktor Suworow
Java devBlog KulturalnyChlebik |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 03:16 |