Публикация формы PHP для предотвращения проблем с навигацией / перепостом - PullRequest
2 голосов
/ 12 января 2011

Я создал форму регистрации пользователя, используя PHP / smarty. Форма отправляет обратно к себе, так как я не знаю причин, чтобы не делать это таким образом. Проблема в том, что если пользователь обновит страницу приветствия, код попытается воссоздать учетную запись. Каков наилучший способ сделать это с точки зрения пользователя и безопасности?

if (isset($_POST['submit'])) {
        /* Create customer account */
        $smarty->display($welcome_template);

} else {
        $smarty->display($form_template);
}

Ответы [ 3 ]

2 голосов
/ 12 января 2011

после того, как учетная запись была успешно создана, выполните перенаправление HTTP и отправьте их на отдельную страницу «успеха»: http://en.wikipedia.org/wiki/Post/Redirect/Get

0 голосов
/ 12 января 2011

Полагаю, это причина не делать этого так. Я думаю, что стандартным решением является шаблон Post / Redirect / Get , что означает: сделать запрос POST, а затем перенаправить на запрос GET на страницу подтверждения. Затем эту страницу можно перезагрузить без проблем.

0 голосов
/ 12 января 2011

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

Для ваших нужд, так как страница после действия показывает подтверждение, самое простое решение было бы

//at end of post-action
echo '<script type="text/javascript">document.location = 'yoururl?cmd=confirm</script>';
die();

С уважением, // т

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