PHP-如何在表单中添加csrf令牌?

时间:2019-05-22 13:48:57

标签: php symfony token csrf protection

我正在研究Symfony,并且有一根小树枝。 我想在此表单中添加csrf保护。

我的初始形式:

<form method="post" action="{{ path('utilisateur_update_ddl', { 'id': user.id }) }}">
<input name="ddl" type="number" min=0 max=99 value={{user.nbTelechargementsAuto}} style="width:35px;">
<button type="submit" style="background:none;border:none;padding:0;"><span class="glyphicon glyphicon-ok"></span></button>
</form>

我想添加csrf:

<form method="post" action="{{ path('utilisateur_update_ddl', { 'id': user.id, '_token': "{{ csrf_token('something') }}" }) }}">
<input name="ddl" type="number" min=0 max=99 value={{user.nbTelechargementsAuto}} style="width:35px;">
<button type="submit" style="background:none;border:none;padding:0;"><span class="glyphicon glyphicon-ok"></span></button>
</form>

在我的控制器功能中:

* @Route("/{id}/update_ddl", name="utilisateur_update_ddl")
     */
    public function updateUserDDLAction(Request $request,$id)
    {
        $token=$request->get('_token');
        if (!$this->isCsrfTokenValid('something', $token)) {
            throw new \Symfony\Component\Security\Core\Exception\AccessDeniedException('Accès interdit');
        }

但是它不起作用。有人可以帮我吗?

0 个答案:

没有答案