我们正在为我们的网络应用设计网址结构,并希望使用RESTful,有意义的网址。在我们的系统中,给定帐户的网址看起来像app / accounts / 62 / details其中62是数字自动递增索引中的关键字。
这种方法有问题吗?用户可以登录其各自的帐户,因此用户无法通过更改帐号访问其他帐户。但是暴露像这样的记录ID有什么问题,或者为什么在哈希中掩盖它是有意义的?
答案 0 :(得分:1)
有许多问题 - 它们可能不适用......
首先,“信息泄露”可能是一个担忧。例如,想要知道您有多少客户/订单的竞争对手可以遍历URL,直到您向他发送404.在某些情况下,您可以通过要求用户在您决定是否发送之前登录来避免这种情况。 404;在别人看来,你做不到。
一个更具概念性的问题是主键对用户来说通常毫无意义 - 因此许多网站都有app / accounts / homer.simpson / details这样的网址,并且消除歧义策略允许超过1个Homer Simpson(Facebook,LinkedIn,Twitter)都这样做)。