在 symfony2 中提交表单后,如何使页面过期?
有时我们的用户使用后退按钮并重新提交表单。如果表格已经提交,我想通知他们不要重新提交。
有时我会在网页上看到会话已过期(例如,当我进行网上银行业务时)。这到底应该在什么时候实施?在我的情况下使用它是否合适?
在 symfony2 中提交表单后,如何使页面过期?
有时我们的用户使用后退按钮并重新提交表单。如果表格已经提交,我想通知他们不要重新提交。
有时我会在网页上看到会话已过期(例如,当我进行网上银行业务时)。这到底应该在什么时候实施?在我的情况下使用它是否合适?
我用来实现这种即席的一种简单技术是一种自定义 csrf 会话变量。
首先在表单提交后向会话添加一个变量,然后如果在页面加载时出现该变量,您就知道他们已经点击了回去。
在提交后的页面控制器上添加:
$session->set('prevent_back_button', true);
在实际表单页面的控制器上:
if ($session->has('prevent_back_button'))
{
$session->remove('prevent_back_button');
$this->redirect('homepage');
}