说服系统管理员文件上传可以吗?

ano*_*ard 4 upload

为了尽可能简短:最近我们的系统管理员(因为这种类型的事情应该是这样)引起了我们的注意,我们最新的基于 Web 的项目的要求之一是允许客户执行文件上传。特别是这些将主要是图像和可能的视频[,但我相信你知道,你不能保证上传的确切内容是什么,直到它在服务器上]。

系统管理员有点被推迟了,几乎没有公然地说“不!”。

我熟悉许多关于用户输入、处理上传等的最佳实践,所以我对这个项目的幕后/代码方面非常有信心。我的问题是,是否有任何特定的资源或对话要点可以让我的系统管理员放心?我应该重点向他解释这种事情,如何处理等?

一些问题是潜在的存储空间(我知道需要根据估计的“流行度”乘以估计的文件大小来计算)和托管上传内容的安全问题。

小智 11

归根结底,您和管理员都可以为业务需求提供支持。挑战在于找到功能(上传文件)和非功能(安全性、磁盘成本、性能)方法的正确平衡。

  • 白名单允许的文件类型,以便该站点不会成为某人的个人 MP3 存档站点。
  • 设置合理的文件上传大小,并以管理员的方式设计以帮助解决大但必要的大小的变通方法。
  • 实施速率限制。Jane真的需要同时上传5个文件,还是一天上传300个文件?通常,这些设置的速率应该对普通用户不可见,但对攻击者来说却很明显。
  • 了解您的应用程序消耗资源的方式 - 内存和磁盘。如果您要分块,您将如何清理丢失的会话?一个 10 MB 的文件在上传时在服务器上消耗多少内存?
  • 了解数据的生命周期。什么时候不再需要它?是什么触发了它的删除?
  • 当防病毒软件隔离上传的文件时,您的应用会做什么?