授权 attribute/middleware 是否可以防止对文件上传的 DOS 攻击?

Does Authorization attribute/middleware prevent DOS attacks on File Upload?

我正在尝试了解是否 .NET Middleware will protect against Denial Of Service attacks on a sensitive area of a system. I can't find the answer in docs such as this

我设想的攻击是这样的。

这是控制器:

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Threading.Tasks;

namespace Test.controllers
{

    [Authorize(Policy = "SuperAdmin")]
    [ApiController]
    public class UploadController : Controller
    {


        public UploadController()
        {
        }

        [HttpPost, Route("upload")]
        public async Task<ActionResult<string>> Upload()
        {

            try
            {
                // Exta checks

                var file = Request.Form.Files[0];

                // Do something with the file
            }
            catch (Exception ex)
            {
                // ...
            }

            return "OK";
        }
    }
}

因此,如果用户不是 'SuperAdmin',Authorize attribute is ASP.NET Middleware 将退回请求。

我不确定的是 - 整个请求会到达服务器,还是在 header 级别完成。

例如我想上传一个 500MB 的文件。

选项 1

选项 2

显然,选项 2 更容易受到 DOS 攻击,所以我希望它是选项 1,但我找不到答案。

请问这实际上是如何流动的?

HTTP 请求未部分发送,因此整个文件将通过网络。 例如,您可以根据需要根据 body 的内容进行授权(因此不仅加载 headers)。

您可以使用 Fiddler 检查 HTTP request/response,它充当代理,因此您可以看到 sent/received.

的所有内容

编辑:所以不,授权中间件不会阻止 un DOS 攻击。