0

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

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

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

4

1 回答 1

1

我用来实现这种即席的一种简单技术是一种自定义 csrf 会话变量。

首先在表单提交后向会话添加一个变量,然后如果在页面加载时出现该变量,您就知道他们已经点击了回去。

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

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

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

if ($session->has('prevent_back_button'))
{
    $session->remove('prevent_back_button');
    $this->redirect('homepage');
}
于 2015-06-10T10:04:03.040 回答