| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > "запрет" Back кнопки при POST запросах |
| Автор: owl 4.4.2007, 16:17 |
| Добрый день! Подскажите, возможно ли организовать "запрет" возврата кнопкой Back на предыдущую страницу с формой (чтобы исключить повторный ввод данных и т.д.)? Если да, то как? |
| Автор: nitr 4.4.2007, 16:21 |
| owl, сформировать верный заголовок а точнее вечером. Скажу одно запрет кеширования... но с Оперой будет сложнее, поэтому вечером, если вдруг не ответят. |
| Автор: nitr 4.4.2007, 23:38 | ||
мне помогло в заголовке добавить:
так же можно в страничке добавить мета-тег (тут немного подробней о них - http://vancouver-webpages.com/META/metatags.detail.html и тут на русском - http://www.htmlbook.ru/html/meta.html) |
| Автор: tishaishii 5.4.2007, 07:56 |
| Ни как нельзя. Зависит от настроек браузера. |
| Автор: Ramirez 5.4.2007, 09:41 |
| По человечески - действительно похоже никак. Я чаще всего делаю так: когда скрипт принимает данные из формы он возвращает страницу с ява-скриптом который сразу перекидывает браузер куда мне надо. Если нажать "назад" то браузер попадет на страницу со скриптом который мгновенно кинет обратно. На практике этого скачка практически незаметно. От случайных перходов назад - спасает. |
| Автор: nitr 5.4.2007, 15:31 |
| Ramirez, tishaishii, почему же нельзя? В купе с другими "технологиями" можно, теже сессии, это как пример. Я имею ввиду, для запрета повторных, надо проверку сделать. Вечером постараюсь выложить ссылку на ресурс, на котором и потестируем |
| Автор: owl 6.4.2007, 15:48 |
| nitr , добрый день, Правильно - если нельзя, но очень хочется - то можно! Просветите, пожалуйста, что и как нужно сделать? Есть ещё подозрение на какие-нибудь настройки Апача - пока пытаюсь что-то найти на эту тему. Заранее спасибо за помощь! |
| Автор: Nab 6.4.2007, 16:14 |
Не верно, этого сделать нельзя... А именно взврат на предыдущую страницу с формой всегда возможен... Потому что она была уже единожды получена и может быть сохранена, и использована столько раз, сколько заблогарассудиться. Мы не в состоянии контролировать все многообразие клиентов. А вот решение на стороне сервера, по отказу от приема одной и той же формы, реализовать можно, и как верно сказано, это реализовываеться с помощью сессий, или к примеру таймаута с одного IP... ну и еще решения быть могут.... А по поводу кнопки 'Back' в идеале счтаю AJAX, и пример gmail.com... Но это завязка на JS... что не есть гуд... Я к примеру не очень люблю сайты которые заставляют использовать какуюто дополнительную функциональность в обязательном порядке... Считаю основной функционал должен быть доступен всегда и всегда работать, а вот всякие украшательства, дополнительные удобства должны быть опциональными... |
| Автор: nitr 6.4.2007, 16:40 |
да я как раз про это и писал. Но многие браузеры всё же понимают многие заголовки ;) |
| Автор: tishaishii 6.4.2007, 19:22 | ||
К-э-ш-и-р-о-в-а-н-и-е. |
| Автор: djkostya 6.4.2007, 20:15 | ||
А так вобще сессии |
| Автор: tishaishii 8.4.2007, 12:10 |
| А что "сессии"? Браузер захочет и не станет ни кукисы, ни авторизацию воспринимать, вообще сдохнет, станет что угодно показывать. На стороне клиента черти могут по потолку бегать. Если ресурс скачан, то он во владении клиента. |
| Автор: Ramirez 8.4.2007, 21:54 |
| так сессии то сервер ведет. он должен решать что принимать от браузера а что нет. например при запросе генерить уникальный параметр вставлять его в форму, и запоминать где-то. по нему отличать что форма отсылается браузером повторно. А вот вопрос чисто-визуальный запретить нопку ''назад" это действительно на стороне клиента на 100%, тут только трюки из серии "защита от дурака", а отослать повторно браузел всегда сможет если очень захочет. |
| Автор: tishaishii 12.4.2007, 12:18 |
| Слушай, ну скачал я страничку с заполненной формой. После скачки форма стала незаполненная (зависит от браузера и настроек). Ну разобрал я страницу, ну отправил я запрос POST с нужным Referer и прочими полями. Ну и всё. А теперь представь, что это делает всё программа. Moziila FF, например, с нужными настройками вернётся назад и покажет заполненные поля без проблем. А легко можно создать и свой на основе существующего (например, MSIE). |