> Symfony中文手册 > 如何在控制器中手动验证一个CSRF Token

如何在控制器中手动验证一个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)
// );
}