仅在具有IIS的ASP.NET中为授权用户启用大文件上载?

时间:2017-02-08 17:03:46

标签: asp.net security iis file-upload large-files

我有一个ASP.NET应用程序,需要添加上传大文件的功能。但是,我需要安全地执行此操作,以便用户无法通过大量请求来压倒服务器。基本上,我的要求是:

  1. 未经授权的用户无法上传文件(不会导致服务器上消耗过多的磁盘空间或内存)。当请求流入时,一旦超过某个小阈值(例如4MB),就应立即拒绝(或者允许继续但在服务器上丢弃但不在内存中或在内存中缓冲磁盘,包括在任何临时文件/文件夹中)
  2. 授权用户可以上传非常大的文件(例如100MB,在任何情况下都比4MB默认的ASP.NET请求大小限制大得多)
  3. (可选)授权用户无法消耗任意数量的磁盘空间(例如,不超过250MB)
  4. 这些似乎是非常基本的安全要求 - 但是看看ASP.NET / IIS文档,我很难理解如何实现这一点,或者确实是否可能超出 - 的即装即用。有maxAllowedContentLengthmaxRequestLength设置,但它们不受用户授权状态的影响。如果我理解正确,如果为站点的auth-required部分设置了更大的值,那么在进行身份验证检查之前,仍然可以继续进行大型上载(并将缓冲到磁盘)。

    我如何满足上述要求?

0 个答案:

没有答案