Версия для печати |
Журналы: Игорь_Vasinsky -> PHP во сне и на яву |
16 марта 2010 |
13:40 Зашита от F5 (повторная передача данных)) |
Ранне почемуто этот момент меня мало интересовал, но сейчас решил уделить ему своё внимание. О мерах: предотвращение повторной передачи данных методом $_POST (если пользователь не специально или предномеренно обновил страницу) Знающим людям этот пример известен, а не знающим будет полезен. Итак: есть страница с формой (регистрация или авторизация - не суть) <form method='POST' action='post.php'> <input type='text' name='login'> <input type='pass' name='password'> <input type='submit' value='пошёл !'> </form> есть страница куда эти данные отправляются (об обработки этих данных в целях безопасности я писать не буду - это другая тема)
Это только алгоритм, т.к. предназначение каждой формы может иметь специфический характер , например если форма регистрации - то ещё необходимо проверить - может такой логин уже занят. |
Комментарии :2 |
Написал: UnWind - 04:11 20/03/2010 | ||
А не лучше ли сделать сравнение с последней записью в таблице ? Т.е. логически это выглядит так: Если последняя запись в БД, равна добавляемой, то выводиться текст "Вы уже добавляли такое сообщение!", если не равна - выполняется условие добавления и выводится сообщение "Ваше сообщение добавлено!". ![]() |
||
Написал: Игорь_Vasinsky - 20:30 20/03/2010 | ||
ну зачем же тревожить лишний раз mysql лучше мы сделаем: header('location: '. $_SERVER['PHP_SELF']); но это далеко ещё не СПАМ контроль. |
mJournal v1.05 © 2003-2004 by UriSoft and IBResource.ru |