如何确保用户不会通过更改应该通过表单修改的对象的id来修改他想要的内容



我有一个简单的问题,我正在寻找可以在服务器端编写什么样的控件来避免这种情况:

用户可以通过表格提交调查答案。因此,当将答案发送到服务器时,它会发送答案列表以及调查的id。但没有什么能阻止他修改调查的id,将答案放在另一项调查上。。。我不知道该怎么防止?

您无法阻止用户更改ID。但是,有一些方法可以确保他们不会通过更改ID来做一些邪恶的事情:

  • 使用长随机ID,这些ID实际上是不可访问的。然后更改ID不会提交给其他调查,而是显示错误
  • 使用登录身份验证并确保用户具有回答调查的正确权限。这样,如果他们更改身份证,他们只能回答他们有许可的调查
  • 为每个调查提供一个令牌。调查只能使用与ID绑定的有效令牌(通过加密签名或将令牌和ID存储在数据库中(提交

最新更新