Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zabezpieczenie formularza!
Forum PHP.pl > Forum > PHP
max_mcee
Witam

Ma ktoś jakiś pomysł jak zabezpieczyć formularz, przed zbyt częstym dodawaniem wpisów ? Np. skrypt komentarzy, aby można dodać kolejny wpis po upływie 5 min.

Proszę o przykład i dziękuję smile.gif
RaNdaLLHD
Np. przy dodawaniu komentarza tworzysz ciacho i ustawiasz mu date wygaśnięcia na 5min. Kolejnym razem skrypt będzie sprawdzał czy ciacho istnieje, jeśli istnieje to komentarza nie doda jeśli natomiast nie istnieje to komentarz doda. guitar.gif
max_mcee
Ciacha to nie jest do końca dobre rozwiązanie smile.gif
A jak ktoś wyłączy ciach w przeglądarce ?
czachor
No to sobie zapisuj jeszcze IP do bazy.
zakręcony
kombinacja ciacho + IP + sesje
a i tak sie to da obejść winksmiley.jpg
matix
A po co tak kombinować ? Jeśli ktoś będzie chciał zaspamować to i tak to zrobi. Najlepiej po prostu zapisuj sobie w osobnej tabelii IP + Kiedy Ostatnio Wpisał się. A potem proste sprawdzenie czy ostatni wpis jest dlużej niż 5 minut. Jeśli nie - nie wyświetlaj formularza do wpisywania się.

Napisałem to w formie algorytmu, a teraz mniej więcej kod:

  1. <?php
  2. function Expired($iExpired = 3600)
  3. {
  4.  $iTimePost = $this -> load -> model ('lasttimeposted'); // sprwadza czas ostatniego postu
  5.  $iTimeTo = $iTimePost + $iExpired; // czas do wygasniecia
  6.  $iNow = time();
  7.  
  8.  if ($iNow > $iTimeTo)
  9. return true;
  10.  
  11.  return false;
  12. }
  13.  
  14. if (Expired(60*5)) {
  15.  echo 'formularz do wypelnienia do ksiegi gosci - imie,nick,wpis, itp';
  16. }
  17.  
  18. ?>


Pisane z palca, mogą być błędy.
zakręcony
argumentem przeciw samemu IP są te sieci, mamy na osiedlu sieć i kilkaset kompów, kompów, które dla swiata zewnetrznego mają jedno IP, wtedy na 5 minut blokujemy całą sieć...

w sumie zanim zaczniemy blokować coś, musimy rozwazyc kilka rzeczy, czy warto blokować i co chcemy blokować winksmiley.jpg
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.