Tomekstw
28.08.2011, 16:41:54
Jak zrobić limit wysyłania forumlarzy? że np. dana osoba może wysłać 1 formularz na 1 godzine .
CuteOne
28.08.2011, 17:00:42
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
28.08.2011, 17:54:04
Czyli. Podczasz wysyłania forumlarza ma być dodany rekord do bazy z datą do dodania .
Aleeee to wtedy będzie dla każdego

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
peter13135
28.08.2011, 18:09:34
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
28.08.2011, 18:09:50
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
28.08.2011, 18:13:52
@up , ale jak zrobić przez ciasteczka ?
Komu będzie się chciało usuwac cookie
peter13135
28.08.2011, 18:14:45
A potem będzie walka z multikontami

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
28.08.2011, 18:16:23
@peter13135 . masz racje . strona amatorksa ^^ . ok to teraz jak sprawdzić przez ciasteczka ?
peter13135
28.08.2011, 18:20:10
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
28.08.2011, 18:20:48
To jeżeli dobrze z tego rozumiem . To mam sprawdzać czy Cookie istnieje :-) tak ?
peter13135
28.08.2011, 18:24:29
No tak jakby

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
28.08.2011, 18:28:22
Ok dziękuje. Rozumiem
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.