【发布时间】:2015-08-21 14:42:59
【问题描述】:
我已经阅读了一些关于散列用户 ID(DB 主键)并将其保密的内容,但我真的不明白为什么。
我正在创建一个 REST API,您可以使用它从某个用户那里检索资源。根据登录的用户,他/她将收到公共资源,如果获得授权,还会收到私人资源。
这样做是不是很糟糕:
.../resources?user_id=17
谢谢
【问题讨论】:
标签: security
我已经阅读了一些关于散列用户 ID(DB 主键)并将其保密的内容,但我真的不明白为什么。
我正在创建一个 REST API,您可以使用它从某个用户那里检索资源。根据登录的用户,他/她将收到公共资源,如果获得授权,还会收到私人资源。
这样做是不是很糟糕:
.../resources?user_id=17
谢谢
【问题讨论】:
标签: security
如果您设置了正确的权限并禁止其他用户滥用该 ID,则该 ID 是公开的还是私有的都没有关系。
您当然可以使用单独的 ID 公开代表用户,并使用私有 ID 获得权限。
【讨论】:
好吧,用户必须通过一些 id 来识别。即使您公开的公共 ID 是实际 ID 或其他随机数的散列版本......那么 that 将是它的公共 ID。它对你没有多大帮助。
随机化 id 只有一个论据:如果您不希望人们通过递增计数器来简单地抓取您的内容。随机化 id 使得这样做有点困难。除此之外:问问自己有人可以做什么知道 id。希望没有,因为否则您的应用程序是安全的。
【讨论】: