Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Anti Flood, Nie kasuje wpisów po określonym czasie :(
grzesiek25
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 23.02.2008

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


Mam taki o to skrypt anty "floodowy"
  1. <?php
  2. if (!isset($_SESSION)) {
  3. }
  4. if($_SESSION['last_session_request'] > time() - 3){
  5. $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  6. if ($ip == "") $ip = $_SERVER["REMOTE_ADDR"];
  7. $db = mysql_connect ("localhost", "login", "hasło");
  8. mysql_select_db ("baza");
  9. mysql_query("INSERT INTO antyflood (IP, TIME) VALUES ('$ip', NOW())");
  10. $timeout = 30; // minutes
  11. $cutoff = (mktime()-($timeout*60));
  12. $query = "DELETE FROM antyflood WHERE TIME < " . $cutoff;
  13. $resuly = mysql_query($query);
  14. }
  15. $_SESSION['last_session_request'] = time();
  16. ?>


Problem z nim polega na tym że nie kasuje wpisu automatycznie po tych 30 minutach, jest na to jakaś rada ?
wiele sposobów przetestowałem i bez rezultatu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
grzesiek25
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 23.02.2008

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


Niestety podane przez was metody nie działają.
Go to the top of the page
+Quote Post
be2k
post
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 2
Dołączył: 14.07.2006

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


Cytat(grzesiek25 @ 28.05.2008, 13:49:14 ) *
Niestety podane przez was metody nie działają.


a sprawdzasz to w jakikolwiek sposob? jak wygladaja rekordy w bazie?
jak wyglada zapytanie ktore wykonujesz aby usunac rekordy (echo())?
jestes pewny ze to zapytanie sie poprawnie wykonuje?
moze mysql zwraca jakis blad a ty o tym nie wiesz bo nawet tego nie sprawdzasz?
Go to the top of the page
+Quote Post
grzesiek25
post
Post #4





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 23.02.2008

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


Cytat(be2k @ 28.05.2008, 13:56:42 ) *
a sprawdzasz to w jakikolwiek sposob? jak wygladaja rekordy w bazie?
jak wyglada zapytanie ktore wykonujesz aby usunac rekordy (echo())?
jestes pewny ze to zapytanie sie poprawnie wykonuje?
moze mysql zwraca jakis blad a ty o tym nie wiesz bo nawet tego nie sprawdzasz?


Zapytanie dodające wpis do bazy wykonuje się poprawnie
w bazie wygląda to tak
IP xx.xx.xx.xx
TIME 2008-5-28 14:00:27
zapytanie kasujące rekordy to

  1. <?php
  2. DELETE FROM antyflood WHERE TIME < '" . $cutoff . "'";
  3. ?>


włącze pełny error reporting i może czegoś więcej sie dowiem
Go to the top of the page
+Quote Post
be2k
post
Post #5





Grupa: Zarejestrowani
Postów: 40
Pomógł: 2
Dołączył: 14.07.2006

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


Cytat(grzesiek25 @ 28.05.2008, 14:06:04 ) *
  1. <?php
  2. DELETE FROM antyflood WHERE TIME < '" . $cutoff . "'";
  3. ?>

chodzilo mi o to zebys wyswietlil to zapytanie, czyli echo("DELETE FROM...") zeby zobaczyc jak wyglada z wartoscia zmiennej ktora tam wstawiasz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- grzesiek25   Anti Flood   28.05.2008, 01:49:17
- - be2k   taki krotki skrypt i tyle bledow po pierwsze: [P...   28.05.2008, 10:16:32
- - grzesiek25   Pokombinowałem troche nad tym kodem i zmieniłem fu...   28.05.2008, 11:03:24
- - nithajasz   ... i teraz odejmujesz (2008-05-28 12:14:15 - 1800...   28.05.2008, 11:17:37
- - grzesiek25   Nie wiem czy dobrze to poskładałem, wygl...   28.05.2008, 11:42:19
- - nithajasz   Zamień funkcję now() na time() i powinno być dobrz...   28.05.2008, 11:47:54
|- - grzesiek25   Cytat(nithajasz @ 28.05.2008, 12:47:5...   28.05.2008, 11:59:02
- - nithajasz   [PHP] pobierz, plaintext <?phpsession_start...   28.05.2008, 12:28:19
- - be2k   jak nie wiesz dlaczego cos nie dziala to debuguj, ...   28.05.2008, 12:30:00
|- - nithajasz   [quote name='be2k' date='28.05.2008, 1...   28.05.2008, 12:34:59
|- - be2k   Cytat(nithajasz @ 28.05.2008, 13:34:5...   28.05.2008, 12:43:01
|- - nithajasz   Cytat(be2k @ 28.05.2008, 13:43:01 ) n...   28.05.2008, 12:55:43
- - grzesiek25   Niestety podane przez was metody nie działają.   28.05.2008, 12:49:14
|- - be2k   Cytat(grzesiek25 @ 28.05.2008, 13:49...   28.05.2008, 12:56:42
|- - grzesiek25   Cytat(be2k @ 28.05.2008, 13:56:42 ) a...   28.05.2008, 13:06:04
|- - be2k   Cytat(grzesiek25 @ 28.05.2008, 14:06...   28.05.2008, 13:10:59
|- - grzesiek25   Cytat(be2k @ 28.05.2008, 14:10:59 ) c...   28.05.2008, 13:18:36
|- - be2k   Cytat(grzesiek25 @ 28.05.2008, 14:18...   28.05.2008, 13:39:43
|- - grzesiek25   Cytat(be2k @ 28.05.2008, 14:39:43 ) c...   28.05.2008, 13:48:55
|- - be2k   Cytat(grzesiek25 @ 28.05.2008, 14:48...   28.05.2008, 14:05:52
|- - grzesiek25   Cytat(be2k @ 28.05.2008, 15:05:52 ) i...   28.05.2008, 14:54:44
- - em1X   Lepiej pokaż jak wygląda struktura Twojej bazy. Bo...   28.05.2008, 13:26:16
|- - grzesiek25   Cytat(em1X @ 28.05.2008, 14:26:16 ) L...   28.05.2008, 13:34:13
- - nithajasz   Dziwne mi na tej samej wersji działa, aż sprawdził...   28.05.2008, 16:41:34
- - rzymek01   grzesiek25, użyj lepiej timestampa zamiast datetim...   28.05.2008, 22:12:19


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: 3.10.2025 - 02:30