【问题标题】:Should a user ID be a secret [duplicate]用户ID是否应该是秘密[重复]
【发布时间】:2015-08-21 14:42:59
【问题描述】:

我已经阅读了一些关于散列用户 ID(DB 主键)并将其保密的内容,但我真的不明白为什么。

我正在创建一个 REST API,您可以使用它从某个用户那里检索资源。根据登录的用户,他/她将收到公共资源,如果获得授权,还会收到私人资源。

这样做是不是很糟糕:

.../resources?user_id=17

谢谢

【问题讨论】:

    标签: security


    【解决方案1】:

    如果您设置了正确的权限并禁止其他用户滥用该 ID,则该 ID 是公开的还是私有的都没有关系。

    您当然可以使用单独的 ID 公开代表用户,并使用私有 ID 获得权限。

    【讨论】:

      【解决方案2】:

      好吧,用户必须通过一些 id 来识别。即使您公开的公共 ID 是实际 ID 或其他随机数的散列版本......那么 that 将是它的公共 ID。它对你没有多大帮助。

      随机化 id 只有一个论据:如果您不希望人们通过递增计数器来简单地抓取您的内容。随机化 id 使得这样做有点困难。除此之外:问问自己有人可以做什么知道 id。希望没有,因为否则您的应用程序是安全的。

      【讨论】:

        猜你喜欢
        • 2017-08-07
        • 2018-11-06
        • 2011-10-29
        • 2020-11-20
        • 2016-12-13
        • 2018-09-27
        • 2022-01-22
        • 2011-04-11
        • 1970-01-01
        相关资源
        最近更新 更多