如何在控制器中手动验证一个CSRF Token
有时,你希望在action中使用CSRF防护,而不是使用Symfony表单组件。如果,你实现的是一个DELETE action,你可以使用isCsrfTokenValid()
方法来检查CSRF token的有效性:
1 2 3 4 5 6 7 8 9 10 11 |
public function deleteAction()
{
if ($this->isCsrfTokenValid('token_id', $submittedToken)) {
// ... do something, like deleting an object
// ... 做一些事,比如删除一个对象
}
// isCsrfTokenValid() is equivalent to:
// $this->get('security.csrf.token_manager')->isTokenValid(
// new \Symfony\Component\Security\Csrf\CsrfToken\CsrfToken('token_id', $token)
// );
} |