[php] anti-F5

0

czy jest jakis ogolnoznany sposob na obrone przed powtornym submitem formow? (nawalanie po F5)

mam pare pomyslow jak to zrobic na piechote, ale czy jest cos gotowego?

0

ograniczenie czasowe... tak jak masz na przykład w dodawani postów na phpbb

0

albo ja nie rozumiem albo ty ;/

mi nie chodzi o timeout a o sytuacje gdy np mamy na stronie ksiege gosci - ktos wejdzie, wpisze sie i bedzie napieprzal po f5 dodajac 40 takich samych wpisow

popraw mnie jest to ja nie zrozumialem

0

masz skrypt book.php i add.php, w tym drugim dodajesz wpis i po dodaniu robisz header('Location: book.php'); w tedy jak ktos wcisnie F5 to odswieży strone book.php a nie ta w ktorej bylo dodawanie wpisu...

0

To nie pomoże. Jak ktoś szybko będzie <ort>odświerzał</ort>, to i tak wlepi ile postów chce. Natomiast to o czym napisał Ktos pomoże. Tu nie chodzi o timeout, tylko robisz sobie tabelę (najlepiej w MySQL'u, jak nie to w jakimś pliczku to zapisujesz) i po adresach IP zapisujesz, kiedy ostatnio coś dodał. Jeśli dodał w przeciągu ostatnich 30 sekund na przykład, to mu podwyższasz ostatnią godzinę do aktualnej, ale wpisu nie dodajesz, tylko wywalasz komunikat, żeby odczekał pół minuty, nim doda kolejnego posta. Możesz odpowiednio oczywiście czas modyfikować według potrzeb. Coś takiego jest na przykład na 4p zrobione. Zabezpiecza przed podwójnym kliknięciem w "Wyślij". Działa i się sprawdza.

0

Takie rozwiązanie jest na 4p - jak spróbujesz 2x dodać ten sam post przez F5 to otrzymasz komunikat, że musisz odczekać jakiś czas na dodanie materiału.

0

masz skrypt book.php i add.php, w tym drugim dodajesz wpis i po dodaniu robisz header('Location: book.php'); w tedy jak ktos wcisnie F5 to odswieży strone book.php a nie ta w ktorej bylo dodawanie wpisu...

ja zrobilem mniej wiecej cos takiego i faktycznie po wcisnieciu F5 nic sie nie dzieje bo zmienne juz nie istnieją.

0

wszystko zależy, jak szybko tego dokonasz. Jak naciśniesz F5, zanim Ci się przełączy na tą drugą stronkę, to tamten sposób nie pomoże!

0

Ja bym to zrobił na zasadzie tokenów, znaczy wartość jakaś TYPE=HIDDEN i tam jakiś numer który jest losowany podczas wyświetlania strony do dodawania posta i dodawany do pliku np tokeny.txt i po dodaniu Od razu usuwany z listy, a jeżeli nie będzie istniał na liście to pewno został już wykorzystany.

0

Ja bym to zrobił na zasadzie tokenów, znaczy wartość jakaś TYPE=HIDDEN i tam jakiś numer który jest losowany podczas wyświetlania strony do dodawania posta i dodawany do pliku np tokeny.txt i po dodaniu Od razu usuwany z listy, a jeżeli nie będzie istniał na liście to pewno został już wykorzystany.

to by trwało jeszcze dłużej (chyba) :|

1 użytkowników online, w tym zalogowanych: 0, gości: 1