0

用户可以在登录后提交他的数据。mysql中有两个表:items,categories。类别有一个字段:user_id,但在项目表中,没有,每个项目都应该属于一个类别。

当用户提交一个类别时,它很好,我从会话中获取用户 ID,并插入它。当他提交一个项目时,我为其设置了 category_id。

问题是,用户可以简单地重写 category_id(javascript,在前端,单击一个类别:设置 category_id),然后将项目提交到与他无关的类别中。

我在想的两个解决方案(但我没有这样做):

当用户插入一个项目时,我检查类别关系,如果不是用户的,则退出。

也将 user_id 字段添加到 items 表中(看起来不是一个好的选择)。

在这种情况下,好的方法或正确/常见的解决方案是什么?

4

2 回答 2

1

也将 user_id 字段添加到 items 表中

如果您已经在类别表中拥有 user_id,并且您确定每个项目都有一个类别,那么您怀疑这是不必要的重复。

检查类别关系,如果不是用户的,则退出。

这就是这样做的方法 - 当您在插入项目之前读取类别 ID 时,请确保该类别属于用户。简单的。我可能只是show_404(),但如果你想显示一个有意义的错误信息,这取决于你。

于 2012-10-25T17:30:17.480 回答
0

为什么不在类别表中创建一个 user_id 列。当用户尝试提交条目时,检查 user_id,如果不是该用户将他重定向到您想要的任何地方

于 2012-10-25T17:43:19.153 回答