在后退按钮symfony2上过期页面

时间:2015-06-10 09:55:05

标签: symfony expired-sessions

在symfony2中提交表单后,如何使页面过期?

有时我们的用户使用后退按钮并重新提交表单。如果表格已经提交,他们不应该重新提交,我想通知他们。

有时我在网页上看到会话已过期(例如我在网上银行时)。什么时候应该实施?在我的情况下,它是否适合?

1 个答案:

答案 0 :(得分:1)

我用来实现这个ad-hoc的一种简单技术是一种自定义的csrf会话变量。

首先在表单提交后向会话添加一个变量,然后如果页面加载该变量,则表示他们已经点击了回来。

在提交后的页面控制器上添加:

$session->set('prevent_back_button', true);

在实际表单页面的控制器上:

if ($session->has('prevent_back_button'))
{
    $session->remove('prevent_back_button');
    $this->redirect('homepage');
}