Autor Zpráva
XyZZyX
Profil *
Dobrý den, mám problém, na který jsem na netu nenašel řešení. Jde o jedno kliknutí z nějaké IP adresy denně. Dělám něco jako web hru. Takže napoprvé když bude klik tak Level=Level+1, ale když se klikne podruhé, tak aby se level nepřidal. Díky moc :)
Medvídek
Profil
XyZZyX
u hitparady pouzivam toto:

$vysledek=mysql_query("select ip_hlas, datum_hlas from `hlasovani_hitparada` where ip_hlas = '$ip' and datum_hlas > date_sub(now(), interval 24 hour)");
tomas3333
Profil
kontrolovat $_SERVER['REMOTE_ADDR'], ale to nezabrani, aby niekto neprisiel cez proxynu
XyZZyX
Profil *
O proxy vím, to mi nevadí. A jak to mám kontrolovat, prosím? :)
tomas3333
Profil
ukladat do databazy a kontrolovat nejakym dotazom, napr. ako posielal Medvidek.
fuckin
Profil
resil bych to pres cookie. Jelikoz mam sdilenou ip se stovkama uzivatelu tak vim jake to je, moderni weby jiz dle ip neblokuji, ale do cookie kam ulozi cas hlasu, a maji tam nejaky limit, aby zablokovali znovu hlasovani.
blizz_boz
Profil
fuckin
ale veď je úplne jednoduché si vypnúť cookies a potom môžem hlasovať koľko chcem...
Bubák
Profil
To, že má uživatel cookie zapnuté jde různými více či méně spolehlivými způsoby ověřit a hlasování takovému uživateli zakázat.
Což je ale k ničemu, pokud uživatel cookies vymaže, některé prohlížeče tohle dělají elegantně v tzv. pornomódu, ale jsou i další staré dobré způsoby, konče rádikálním výmazem všech cookies.
Lamicz
Profil
XyZZyX: Když děláš web hru, tak předpokládám, že není anonymní, ale uživatelé mají nějaké účty. Takže to založit na ID uživatele + timestamp třeba, něco jako
strtotime("+1 day");

a šup s tím to DB. Zbytek je lehký, např.:
if(time() >= $db['Last_action']){... }

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: