Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Limit wysyłania forumlarzy
Forum PHP.pl > Forum > Przedszkole
Tomekstw
Jak zrobić limit wysyłania forumlarzy? że np. dana osoba może wysłać 1 formularz na 1 godzine .
CuteOne
Pobierz z bazy/pliku cookie czas ostatniego wysłania formularza - i porównaj z aktualnym czasem. Jeżeli jest mniejszy niż godzina to zablokuj wysyłanie/odbieranie danych.
Tomekstw
Czyli. Podczasz wysyłania forumlarza ma być dodany rekord do bazy z datą do dodania .
Aleeee to wtedy będzie dla każdego smile.gif a jak zrobić dla każdego oddzielnie , poprzez pobranie adresu IP i wysłanie razem z godziną a potem sprawdzanie ?

Dobrze rozumiem ? jeżeli nie to proszę o jeszcze jaśniejsze wyjaśnienie smile.gif
peter13135
musisz dodać 2 kolumny : adres ip oraz data
Adres IP to $_SERVER['REMOTE_ADDR']

Przed wyświetlaniem formularza (bo nie ma sensu go wypełniać, jeśli po wypełnieniu ma się okazać, że nie można go wysłać, powinien być warunek który sprawdza czy w ciągu ostatniej godziny ktoś wysłał z danego ip formularz.
sadistic_son
Zabezpieczenie po IP nie jest zbyt dobrym pomyslem bo mozesz zablokowac kilku uzytkownikow z jednej sieci np. osiedlowej. Lepiej bedzie to zrobic poprzez ciacha. Choc to i tak prawie zadne zabezpieczenie bo ciastko wystarczy usunac. Najlepiej zrob logowanie, wtedy bez problemu graniczysz wszystko co chcesz konkretnemu uzytkownikowi.
Tomekstw
@up , ale jak zrobić przez ciasteczka ?

Komu będzie się chciało usuwac cookie snitch.gif
peter13135
A potem będzie walka z multikontami tongue.gif
Wydaje mi się, że blokada po IP nie jest najgorszym pomysłem, przecież nie często się zdarza, żeby osoby z jednej sieci trafiały na jedną stronę, która jest raczej "amatorska", a nie komercyjna, jak google, czy onet.
Ja do sprawdzania IP, dodałbym również sprawdzanie ciacha.
edit:
http://php.net/manual/en/function.setcookie.php
Tomekstw
@peter13135 . masz racje . strona amatorksa ^^ . ok to teraz jak sprawdzić przez ciasteczka ?
peter13135
Dałem Ci linka do manuala, tam masz opisane jak ustawić ciastka. Sprawdzić możesz za pomocą $_COOKIE.
Co do określenia "amatorska" - nie odbierz tego negatywnie. Po prostu zakładam, że nie będzie to strona tak popularna jak np. onet, więc moim zdaniem prawdopodobieństwo wystąpienia 2 osób z jednej sieci jest niewielkie.
Tomekstw
To jeżeli dobrze z tego rozumiem . To mam sprawdzać czy Cookie istnieje :-) tak ?
peter13135
No tak jakby wink.gif za pomocą setcookie ustawiasz ciacho (z parametrem expire równym 3600) po wysłaniu formularza, a za pomocą np. isset($_COOKIE['nazwa_ciacha']) sprawdzasz czy cookie istnieje.
Tomekstw
Ok dziękuje. Rozumiem smile.gif
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.