Запрет на одинаковый текст

Статус
В этой теме нельзя размещать новые ответы.

EnikeN

Новичок
Запрет на одинаковый текст

Привет! Проблема в следующем. На странице есть форма для написания комментариев, всё хорошо работает, за исключением одной фигни. Когда я напишу что-то, то всё праивльно добавится, но елси начну страницу обновлять, то записи так и добавляются бесконечно..ну конечно в зависимости от количества обновления страницы.

Как запретить вывод одинаковых запросов?
 

WP

^_^
Ыыы.. А если добавлять единицу? То пропускать флуд? Кто-то редиректит сразу чтобы не дать нажать F5, кто-то оставляет как есть, а кто-то поступает по-умному как я: запрещает флуд, т.е. записывает действие в БД и если оно выполнялось чаще установленой нормы пишет "Вы используете операцию слишком часто, пожалуйста подождите некоторое время и повторите попытку".
 

rotoZOOM

ACM maniac
а кто-то поступает по-умному как я: запрещает флуд
Не понял, это что, вместо редиректа чтоли ? Типа защита от обновления страницы ? А если я оставлю страницу и через 2 минуты на ней нажму F5 ? Интересный подход, и чем же редирект вас не устроил ?
 

WP

^_^
EnikeN
Чо?
rotoZOOM
> Не понял, это что, вместо редиректа чтоли ?
Да.
> Типа защита от обновления страницы ?
Нет, защита от флуда в комментариями. Мне глубоко плевать в результате чего пришел запрос, в результате нажатия F5, вторичного заполнения формы, или в результате работы бота.
> А если я оставлю страницу и через 2 минуты на ней нажму F5 ?
Во-первых не 2, а 3. Во-вторых увидишь "Такой комментарий уже существует".
А в редиректе не вижу никакого смысла. Если препятствовать F5, то почему бы не препятствовать нажатию Back + F5? Слух, а давай location.replace поюзаем? Это для IE. А для остальных будем открывать новое окно с урлом, а старое закрывать. Тогда ж ваще не нажмут F5 :D
 

rotoZOOM

ACM maniac
WP Вопрос человеком был поставлен конкретно, как запретить повторное внесение информации в хранилище данных при обновлении страницы. Ответ на этот вопрос обсуждался не раз, и самое подходящее решение для этой ситуации именно редирект.
Причем тут флуд ?
Если препятствовать F5, то почему бы не препятствовать нажатию Back + F5
Не понял при чем тут это ? А что будет, если нажать Back + F5 ?
 

phprus

Moderator
Команда форума
EnikeN
Читай http://phpclub.ru/faq/wakka.php?wakka=ProblemsLocations&v=64t
 

WP

^_^
rotoZOOM
> Вопрос человеком был поставлен конкретно, как запретить повторное внесение информации в хранилище данных при обновлении страницы
Просто так никто не будет нажимать F5 от нечего делать, человек хоть немного знакомый с интернетом поймет что коммент может попасть по новой. Нажать Back для этой цели ему никто не мешает, не говоря уже о враждебных сущностях. Поэтому я разом избавился от подобного рода неприятных ситуаций корректной обработкой любых запросов сервером, а не стал извращаться.
> Не понял при чем тут это ? А что будет, если нажать Back + F5 ?
Точнее просто Back. Будет ой, в случае с редиректом.
 

rotoZOOM

ACM maniac
Нет слов. Спорить дальше бесполезно. Советую EnikeN взглянуть на ссылку, любезно предоставленную
phprus.
 

Фанат

oncle terrible
Команда форума
Тема закрыта.

Проблемы личного характера и бессмысленные споры между участниками не являются предметом обсуждения форума.
Обсуждайте их в привате.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху