2013-09-29 42 views
2

我是Symfony的新手,爲了應用我在此框架中學到的知識,我想構建一個完整的應用程序。我有一個Message實體,並且我想確保刪除這個實體。只有創建消息的用戶和版主才能刪除它。如何確保刪除?我的意思是,在我的代碼中,我已經寫了類似if($message->$user == $this->user || $this->user->isGranted('ROLE_MODO'))的內容,但是如何防止CSRF攻擊?確保使用Symfony 2刪除實體

+1

您的解決方案是可以的。檢入用戶的實體。我不知道你的CSRF攻擊問題是什麼;)當你在Symfony中啓用CSRF保護時,它會隱藏一個字段。 – Stony

+0

有那個希登字段? '{{csrf_token(「意圖」)}}'我沒有其他特別的東西要添加到控制器中? – palra

+0

我不知道正確的名字,但它看起來是正確的。 Symfony2提供自動CSRF保護。 http://symfony.com/doc/current/book/forms.html#csrf-protection – Stony

回答

1

有一個刪除表單,需要用戶提交表單。

有一個獨立的控制器,處理與該形式提交,並在那裏檢查它是否是正確的用戶等

那麼即使有人猜出路線/控制器的URL,控制器仍然會檢查它是正確的用戶,再加上刪除表單將不會正確提交它的CSRF令牌