post-redirect-get и expire - PullRequest
       1

post-redirect-get и expire

0 голосов
/ 29 августа 2011

У меня есть страница, на которой пользователь выполняет http для получения данных для формы, затем пользователь http отправляет форму, и в случае успеха пользователь перенаправляется на страницу получения.

Теперь все в порядке, но пользователь может нажать «назад» в браузере и повторно отправить форму. Я хочу истечь форму, но попробовал множество стратегий истечения срока действия. Никто из них не работает последовательно.

Есть ли что-то с этим шаблоном, препятствующее истечению срока действия формы?

Как можно закончить форму?

1 Ответ

2 голосов
/ 29 августа 2011

Вы не можете просрочить форму как таковую.

PRG используется для предотвращения множественных отправок форм , поэтому, если пользователь нажимает «обновить» в своем браузере после POST (или отправки формы), форма не будет повторно отправлена ​​- поскольку Кнопка «обновить» просто выполняет предыдущий запрос в истории (который был GET, в результате вашего перенаправления).

То, что вы могли бы сделать, это создать файл cookie при первом отображении формы и установить срок действия, когда вы хотите, чтобы срок действия формы истек.

Затем этот файл cookie будет отправляться с каждым последующим HTTP-запросом. Вы должны проверить файл cookie в действии HTTP POST и вернуть ошибку, если срок действия файла cookie истек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...