我对我的应用有疑问或担忧。经验告诉我,留下任何可能的方法来维护我的代码是非常非常糟糕的。所以现在,我有一个添加用户意见的表单。它有
textarea
input type="hidden"
input type="hidden"
现在我害怕的是,用户可能想要查看代码并找到这些字段。许多浏览器允许操作HTML(我们可以从Chrome更改类等)。因此,将value="1"
更改为value="2"
对他们来说不是问题。
我的问题是 - Symfony2中避免此类问题和风险的最佳实践是什么?
答案 0 :(得分:1)
不是从表单中获取用户和游戏ID,而是可以在控制器中抓取它们,无论如何都要处理帖子并在那里处理这两个值。
$user = $this->get('security.context')->getToken()->getUser();
$userId = $user->getId();
$gameId = $user->getGame()->getId();
获取当前所需值的可能方式(取决于游戏ID的来源当然)
编辑:
如果用户与多个游戏相关联,您可以像初始化一样移交gameId并通过dependecy注入直接投射到游戏类:
public function exampleAction(Game $gameId) {
$user = $this->get('security.context')->getToken()->getUser();
if($user->getGames()->contains($gameId) {
return true;
}
}