Symfony2防止单击返回

时间:2014-04-04 20:45:41

标签: php symfony caching

我在Symfony2应用程序中有一个商店,我想让客户在订购过程中到达某一点后不再单击。请注意,不要实际阻止他们点击后退按钮,而是使点击后退的操作无效。

我已将以下内容放在我的一个控制器功能中:

$response = new Response();
$response->headers->addCacheControlDirective('no-cache', true);
$response->headers->addCacheControlDirective('max-age', 0);
$response->headers->addCacheControlDirective('must-revalidate', true);
$response->headers->addCacheControlDirective('no-store', true);

return $this->render('myStoreBundle:Store:checkout.html.twig', $viewData, $response);

我已使用Chrome中的网络分析器检查商店页面上的标题,但它们似乎已正确设置。为了达到预期的目标,我还需要做些什么吗?或者这不是你想做的事情。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,我的第一个想法就是使用会话变量。

$session = $this->getRequest()->getSession();

封锁部分:

if ($session->has('block'))
{
    $this->redirect('certain_route_name');
}

某些部分:

$session->set('block', 1);

完成整个过程:

$session->remove('block');