使用MD5的直接对象参考对策

时间:2016-05-23 14:04:34

标签: security object hash reference

我正在尝试为我的代码添加一些安全功能,以防止直接对象引用攻击。每个用户都有一个项目列表。检索时,会为每个项目分配一个从1开始的编号,该编号将用于不同的功能(删除,更新等)。

  • 1 - 项目1,ID为67
  • 2 - 项目2,ID为88
  • 3 - 项目3,ID为90
  • 4 - 项目4,ID为145

因此,如果用户想要删除项目3,则会发送DELETE请求,如下所示: http://website.com/projects/3 。但是,如果他们碰巧再次发送请求,它将删除项目4.

我的修复是散列ID并发送它。因此,如果用户想要删除项目3,他们会发送 http://website.com/projects/3/hashOfId ,然后在删除项目之前根据项目ID对其进行检查。

这是安全的,还是有更好的选择?其他用户或当前用户能够同时删除和更改内容的能力非常重要。同样重要的是不要透露项目的ID。我还没能在网上找到其他方法的任何例子。

谢谢!

0 个答案:

没有答案