Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zablokowanie szybkiego klikania
Forum PHP.pl > Forum > PHP
szczepan11
Witam

Mam problem, z którym nie potrafie sobie poradzić, a w googalch nic na ten temat nei mogłem znaleźć.
Chodzi o to, że na mojej stronie cały czas można klikać na odnośnik, który generuje zapytanie do bazy.
Nie wiem jak zrobić, żeby to zablokować np po 1 sekundzie tego klikania wyświetla się komunikat

Pozdrawiam
Crozin
Po wejściu na ten link, zapisujesz do sesji użytkownika aktualny czas. Przed wykonaniem czegokolwiek sprawdzasz czy minęło X sekund:
  1. if (!isset($_SESSION['anti-flood']) && $_SESSION['anti-flood'] > time() - 15) {
  2. $_SESSION['anti-flood'] = time();
  3.  
  4. // kod
  5. } else {
  6. // za szybko
  7. }
szczepan11
masz u mnie piwo smile.gif

Działa dzięki smile.gif

mam jeszcze małe pytanko smile.gif

bo gdy juz się wyświetli komunikat to żeby móc korzystać ze skryptu dalej gracz musi się wylogować, a jak zrobić tak, że wystarczy odswieżyć stronę ?
Crozin
Zamiast time użyj microtime - wtedy będziesz mógł.
szczepan11
Temat do zamknięcia.

Crozin naprowadziłeś mnie na trop. Resztę znalazłem w google. Gdyby ktoś miał podobny problem smile.gif

  1. if (!isset($_SESSION)) {
  2. }
  3. if($_SESSION['last_session_request'] > time() - 2){
  4. //// co ma robić za szybko
  5. }
  6. $_SESSION['last_session_request'] = time();


smile.gif

Zamknąć temat można
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.