Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sposób na floodowanie komentarzy
Forum PHP.pl > Forum > Przedszkole
lamcpp
Witam zrobiłem sobie system komentarzy, który po wysłaniu przez użytkownika komentarza musi być zaakceptowany przeze mnie i wtedy opublikowany, jednak nie mam w nim żadnego zabezpieczenia antyfloodowego.
W tej chwili użytkownik może wpisać nieskonczoną liczbę komentarzy, jeśli ma do tego jescze jakis program to moze narobić mi szkód.
W jaki sposób najlepiej się przed tym zabezpieczyć (poza Captcha - który jak dla mnie jest irytujący).
Czy można byłoby zrobić np. coś takiego jak jest na forach, tzn. by system wykrywał, że np. użytkownik dodał 3 komentarze do jednego wątku w niewielkim odstępie czasu. I by przy próbie dodania czwartego komentarza pojawił się mu komunikat: ta strona wymaga odczekania iluś sekund zanim będziesz mógł dodać kolejny komentarz.
Jak takie coś zrobić?
gorden
ciasteczka lub blokada na ip.
co do ciesteczek to: setcookie po dodaniu komentarza, przy dodawaniu warunek
a co do blokady ip, to musisz przechowywać gdzieś ip, które aktualnie nie mają prawa pisać komentarzy: w pliku, bądź w bazie danych. przy dodawaniu komentarza za pomocą $_SERVER sprawdzasz ip i przeszukujesz swoją baze.
możesz też zrobić po prostu rejestracje.
lamcpp
a mógłbyś trochę bardziej przybliżyć jak zrobić to z ciasteczkami?
gorden
  1. if(isset($_COOKIE['komentarz'])) {
  2. echo 'Musisz poczekać, zanim dodasz kolejne komentarze...';
  3. } else {
  4. setcookie('komentarz', 'dodany', time()+180); //3 minuty
  5. echo 'Dodano komentarz!';
  6. }
CuteOne
Nie jest to dobre rozwiązanie jeżeli do twojego systemu dobierze się bot spamujący. Poza ciachami radzę zapisać IP użytkownika do bazy i sprawdzać czy od ostatniego wpisu minął określony czas.

Pozdrawiam
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.