在我的网络应用程序中,我将用户数据存储在MongoDB文档中。它们具有唯一的_id
属性。要检索与用户创建的项目关联的上传,我创建了以下API:
/api/uploads/:user_id/:item_id/:fileName
在后端,我只需返回位置/uploads/<user_id>/<item_id>/<fileName>
虽然项目记录本身将具有唯一ID,但此文件夹结构将使删除与一个用户关联的所有项目更加清晰,因为我可以简单地删除名为<user_id>
的整个文件夹。
但是,通过这种方式进行设置,我清楚地将用户唯一的_id暴露给访问其公开上传的所有人。
现在我的问题是,有什么方法可能会带来安全风险吗?恶意黑客可以对用户的唯一ID做什么?
答案 0 :(得分:3)
我认为这不是一个重大风险。从概念上讲,黑客可能会将您提供的任何信息用于恶意。对于_id而言,没有什么特别特别的东西可以让你比其他任何东西都更具风险。
无论您在网址中添加了什么内容,您都希望确保自己执行适当的访问控制并确保可用性等。