【发布时间】:2016-03-20 17:24:27
【问题描述】:
我正在创建一个允许用户上传文件(图片、声音...)的 Node.js/Express 应用程序,但我不希望用户只输入文件 URL 并访问它,我想确认一下用户身份以及用户是否是该文件的所有者,我对如何操作有一些想法
- 通过添加 UUID 或类似的东西(但并不能真正解决问题)使文件名不可预测,只会让用户更难猜测文件路径。
- 将文件保存在数据库行中,但从我读到的内容来看,这并不是最好的主意。
- 创建一个单独的服务器,在发送文件或将功能添加到我的 API 服务器之前确认用户身份和文件所有者。
那么您认为最好的选择是什么,或者您有更好的想法以及 Facebook 等大人物是如何做到的?
【问题讨论】:
-
我认为至少您需要在数据库或任何持久存储的表中维护
、 对。您实际上不必将文件内容存储在数据库中,任何文件系统都应该没问题。然后根据文件所有者信息,就可以维护一个基本的ACL
标签: node.js file security server