Есть такая тема когда вводишь запрос и отправляешь его методом POST то при нажатии F5 или обновить страницу оно повторяет полностью весь запрос с постом, то есть плодит дубли. Эту тему обходят перезапросом страницы методом GET с помощью отправки HTTP заголовка Location на себя же. Может кто знает другой способ обойти это?
- 18.03.2012 19:50
Спасибо сказали:
ArhStrAngeR(18.03.2012), - 18.03.2012 20:58
Проверять POST параметры на уникальность если повтор то не добавлять.
Спасибо сказали:
ArhStrAngeR(18.03.2012), - 18.03.2012 21:14
Jeremen, если конкретней, как сказал TBicTep создать поле hidden в форме и заполнить его например датой (в юникс тайм), и по ней уже смотреть уникальность. Или перенаправлять сразу после обработки формы типа header('Location : /');
А сейчас еще лучше это сделать вообще через AJAX (ну только желательно кнопку отправки формы сделать disable после нажатия :)Спасибо сказали:
ArhStrAngeR(18.03.2012), Jeremen(18.03.2012), - 18.03.2012 23:38Разработка любых сайтов

- Регистрация: 08.06.2011
- Сообщений: 3,375
- Записей в дневнике: 1
- Репутация: 2506
TBicTep,а если нужно такие же точно параметры отправить? ну возможно не сейчас, через день, неделю...?
С помощью ajax хорошо проверять, можно вообще отключить отправку формы до заполнения всех полей, а после отправки - очищать эти поля, чтобы заполняли зановоСпасибо сказали:
Jeremen(18.03.2012), - 19.03.2012 00:57
Возможно вариант не самый лучший , но можно сверятся с базой данных последних сообщений и если что выкидывать на любую страницу или страницу с предупреждением + отправлять в бан аккаунт автоматом при повторных сообщениях (если время отправки одинаково или просто повторно)
---------- Сообщение добавлено 19:57 ---------- Предыдущее 19:53 ----------
Кстати не знаю сам как ,но можно сделать ограничения по запросам к сайту к примеру от 4-5 в 1 секунду , тоже спасет от таких повторов - 19.03.2012 02:48Дипломник

- Регистрация: 19.12.2009
- Сообщений: 145
- Репутация: 32
Jeremen, можно в хидден добавить какую-нибудь переменную и сохранить ее в БД/сессиях/кукисах
после отправки пост запроса удалять
при повторной отправке запроса проверить, если нет этой переменной, то ничего не делать - 19.03.2012 03:00
ctapbiu, не до конца задумку понял.
kvins, ну так можно, но не вариант затратно по ресурсам с базой работать. На счет ограничения запросов в секундах на пользователя это тема. Но не спам я хотел обойти, а случайные отправки дублей, так что не совсем вариант. - 19.03.2012 03:35
Из самого простого, если не использовать локейшен и редиректы всякие, то после добавления инфы с формы, создаём переменную и заносим в сессию с жизнью например 1 минута.
Ну и естественно в обработчик формы добавляем условие на проверку существования этой переменной.
Убиваем двух зайцев.
Профит? - 19.03.2012 11:55
Kopc, да по моему лучше сессии тогда нече не придумаешь и к базе обращаться не надо и та же самая проверка.
- 19.03.2012 12:30
Тэги топика:
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Обновление форума. | Обсуждение форума и ваши предложения | 64 | 03.03.2012 11:40 |
Два метода заработка на блогах 1500$/мес. | Партнерские программы | 40 | 28.10.2011 14:17 |
Обновление: SEO Bar для Opera | Софт, скрипты, сервисы | 6 | 20.10.2011 02:58 |
GetTrustLinks Обновление. | Софт, скрипты, сервисы | 3 | 14.09.2011 11:10 |
Продажа метода получения аккаунтов с рейтингом 30 очень не дорого! | Прочее | 26 | 11.08.2011 01:48 |








