【问题标题】:Are there any security risks with exposing a user's unique MongoDB _id?暴露用户唯一的 MongoDB _id 是否存在安全风险?
【发布时间】:2016-06-01 16:04:47
【问题描述】:

在我的网络应用程序中,我将用户数据存储在 MongoDB 文档中。这些具有独特的_id 属性。为了检索与用户创建的项目关联的上传,我创建了以下 API:

/api/uploads/:user_id/:item_id/:fileName

在后端,我只需将文件返回到位置/uploads/<user_id>/<item_id>/<fileName>

虽然项目记录本身将具有唯一 ID,但此文件夹结构可以更清晰地删除与一个用户关联的所有项目,因为我可以简单地删除名为 <user_id> 的整个文件夹。

但是,在以这种方式进行设置时,我清楚地将用户的唯一 _id 公开给所有访问其公共上传的人。

现在我的问题是,有什么方法会造成安全风险?恶意黑客可以利用用户的唯一 ID 做什么?

【问题讨论】:

    标签: node.js mongodb security


    【解决方案1】:

    我不认为这是一个重大风险。从概念上讲,您提供的任何信息都可能被黑客用于恶意目的。 _id 并没有什么特别之处,这使得它比你可能放在那里的任何其他东西都更具风险。

    无论您在 URL 中输入什么内容,您都需要确保执行适当的访问控制并确保可用性等。

    【讨论】:

    • ObjectId 需要注意的一点是,它们包含 information(它们不是随机的,也不是简单的顺序),尽管这通常不是问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    相关资源
    最近更新 更多