0

对于控制器,我的网址如下所示

/user/profile/{id}/edit

现在我觉得它不是很安全,因为如果特权成员在那里输入任何其他数字,那么数据将被插入到错误的用户中。

基本上,我在首页上有表格,上面有学生选择列表,然后老师选择学生,然后走得更远。在这里,我提交表单并设置userid会话变量。

很少有页面可以正常工作,因为我没有在 URL 中放置任何变量。

但是我被困在我有用户添加的分配列表的地方。正如我以表格格式显示的那样,每次点击都会转到单独的分配。我必须把assignmentid网址

有什么办法可以解决这个问题,这样我就不需要在 URL 中添加任何内容

4

2 回答 2

1

首先,您应该假设每个用户的输入/操作都可能是错误的或邪恶的:因此,在 Symfony2 防火墙和 isGranted 函数下实现验证,以检查用户是否有权编辑用户。

其次,也许你应该在 url 中给一个 id 一个用户名或一个用户 slug:然后通过耕种你的基地的所有用户 id 来访问编辑页面会更加困难

于 2012-08-13T06:47:34.460 回答
0

There's nothing wrong with passing the IDs through the URL. You could use POST or SESSION data to pass the IDs around, but it can be cumbersome and annoying for users because it can upset browser history navigation.

Instead, you should be doing privilege verification on every request if security is a concern. If the problem is an aesthetic one and not a security one, you could create a unique name for each assignment that you can pass in the URL instead.

于 2012-08-13T04:55:48.023 回答