采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
昨天面试的时候,面试官问:你的秒传功能如何限制其他用户通过特定手段获取到/伪造文件的唯一标识来“窃取”文件的?我回答说我们的秒传限定在用户粒度;面试官说那感觉业务设计并不合理,同一个用户重复上传文件的场景并不常见,没道理。 我觉得他说得有道理,请问老师我们这样设计的理由是什么呢?
能回答出来考虑的风险点,怎样优化,优化的逻辑就可以了哈
如果我们要放开,就需要考虑这个风险,使用延时删除物理文件或者不删除物理文件的方式来做
如果放开,除了并发风险的处理,面试官问到的【如何限制其他用户通过特定手段获取到/伪造文件的唯一标识来“窃取”文件】的问题应该如何解决呢
上传文件为什么会涉及窃取呢?我没有很明白这个面试官的问题
我理解面试官想问的是:其他用户本身没有某个文件,但是可能通过伪造唯一标识调用秒传接口实现了上传该文件的效果,面试官任务这是一种安全隐患?
这个主要是考虑到如果我们放开用户级别,用户随时有删除文件的风险,如果用户A上传了一个文件,用户B也在上传一个相同的文件,秒传发现数据库有一份实体文件了,就会直接走秒传,但是如果这个时候用户A在删除这个文件,清理物理文件和秒传并发了,就造成了数据错误
登录后可查看更多问答,登录/注册
SpringBoot+Vue3+Element Plus 仿百度网盘实战
501 10
269 8
533 8
2.1k 8
4.4k 7