Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Sprawdzenie czy upłyneły 24h
kalafior122
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 1
Dołączył: 19.03.2012
Skąd: Września

Ostrzeżenie: (0%)
-----


Witam. Mam problem muszę zaliczać tylko co 24h klinięcie w link.. zaraz opisze na przykładzie (IMG:style_emoticons/default/haha.gif)
User xinski ma konto na stronie y i dostaje link do programu polecen np. y.pl/pp.ph?u=xinski i rozsyła ten link do znajomych i oni klikają oddjae mu punkty do tej pory wiem jak zrobić tylko nie wiem jak zrobić aby znajomi mogli kliknąć w ten link tylko raz na 24h (tz mogą klikać kilka razy ale zalicza tylko jeden raz na 24h). Myślę że dobrze opisłem o co mi chodzi... a 2 to jak zabezpieczyć to przed proxy i zmiennym ip

Ten post edytował kalafior122 7.03.2013, 16:27:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Tabela powinna się składać z 3 pól.
W założeniu będzie miała duże obciążenie więc trzeba ją dobrze zaprojektować.

username (najlepiej id) | ip (w postaci numerycznej) | data

username + ip klucz UNIKALNY.

Sprawdzasz czy minęły 24h od kliknięcia, możesz to zrobić za pomocą strtotime "-1 day" lub jeśli datę w unix trzymiesz to odejmujesz od niej 86400.
Jeśli powyższe jest tak (czyli rekordu nie ma, bądź rekord jest ale nie minęły 24h) to robisz:
http://dev.mysql.com/doc/refman/5.0/en/ins...-duplicate.html
czyli dodajesz rekord bądź jeśli już ten user i te ip jest to aktualizujesz datę - wszystko w jednym zapytaniu.

Przypominam o SQL Injection, zwłaszcza przy pobieraniu nicku z linku.

Co do proxy Google:
"php proxy prevent"

Jest kilka kulawych rozwiązań jak i rozwiązania biznesowe (bazy proxy i dostęp z API), które są często płatne.

Ten post edytował markonix 8.03.2013, 10:13:57
Go to the top of the page
+Quote Post

Posty w temacie
- kalafior122   [MySQL][PHP]Sprawdzenie czy upłyneły 24h   6.03.2013, 21:35:37
- - Spawnm   Dodajesz pole datatime do db i porównujesz z obecn...   6.03.2013, 21:41:27
|- - kalafior122   Cytat(Spawnm @ 6.03.2013, 21:41:27 ) ...   6.03.2013, 21:42:56
- - Ruch Radzionków   proste dodajesz nowa baze np. daty i dodajesz tam:...   6.03.2013, 21:44:47
- - kalafior122   chwila ale jak to porównać   6.03.2013, 21:49:59
- - Damonsson   Było na forum milion razy, sam już chyba na 2 taki...   6.03.2013, 23:35:25
- - kalafior122   tak w sumie wszystko wiem jak zrobić chodzi mi tyl...   7.03.2013, 16:15:49
- - _Borys_   Funkcja MYSQL DATEDIFF() albo TIMEDIFF() Jako drug...   7.03.2013, 17:23:55
- - kalafior122   wymyśliłem coś wcześniej zapomniałem napisać tera...   7.03.2013, 17:26:32
- - _Borys_   Dodawaj do linku jakiś unikalny identyfikator, i k...   7.03.2013, 17:36:23
- - kalafior122   własnie to ma kliknąć jak najwięcej osób... bo jes...   7.03.2013, 17:43:06
- - kallosz   Najprościej przy zmiennym IP stosować cookie. Chyb...   7.03.2013, 18:06:04
- - _Borys_   Dla każdego wejścia na stronę generujesz link z un...   7.03.2013, 18:14:09
|- - kalafior122   Cytat(_Borys_ @ 7.03.2013, 18:14:09 )...   7.03.2013, 18:18:37
- - Damonsson   evercookie + zapisywanie wszystkiego co identyfiku...   7.03.2013, 18:17:18
- - _Borys_   Właśnie że to ma być ten sam link tylko dodany uni...   7.03.2013, 18:30:14
|- - kalafior122   Cytat(_Borys_ @ 7.03.2013, 18:30:14 )...   7.03.2013, 18:38:21
- - Damonsson   Jak nie dasz do wygrania Mercedesa to nikt się nie...   7.03.2013, 18:33:02
- - Ruch Radzionków   zrób tak utwórz baze o nazwie np. test i do niej d...   7.03.2013, 19:02:39
- - kalafior122   własnie takie coś zrobiłem tylko nie wiem jak zabe...   7.03.2013, 20:10:08
- - markonix   Tabela powinna się składać z 3 pól. W założeniu bę...   8.03.2013, 10:13:05


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 18:34