我使用PHP / smarty创建了一个用户注册表单。表格回复自己,因为我不知道有什么理由不这样做。这里的问题是,如果用户刷新欢迎页面,代码将尝试重新创建帐户。从用户和安全角度来看,最好的方法是什么?
if (isset($_POST['submit'])) {
/* Create customer account */
$smarty->display($welcome_template);
} else {
$smarty->display($form_template);
}
答案 0 :(得分:2)
成功创建帐户后,执行HTTP重定向并将其发送到单独的“成功”页面:http://en.wikipedia.org/wiki/Post/Redirect/Get
答案 1 :(得分:0)
我想这是不这样做的原因。我认为标准解决方案是Post/Redirect/Get模式,这意味着:发出POST请求,然后重定向到确认页面的GET请求。然后可以毫无问题地重新加载该页面。
答案 2 :(得分:-1)
用户当然可以尝试在任何时候重新创建他们的帐户,因此必须小心。
根据您的需要,操作后页面显示确认, 最简单的解决方案是
//at end of post-action
echo '<script type="text/javascript">document.location = 'yoururl?cmd=confirm</script>';
die();
的问候, //吨