gpt4 book ai didi

asp.net-core-mvc - ASP.NET Core 如何通过限制请求大小来防止 DDoS 攻击?

转载 作者:行者123 更新时间:2023-12-04 10:19:32 24 4
gpt4 key购买 nike

我最近创建了一个允许上传视频和音频文件的 API,它工作正常,直到一位客户上传了一个大视频,我收到了这个错误:

Failed to read the request form. Multipart body length limit 134217728 exceeded.



从许多帖子中可以明显看出,请求大小限制背后的理念是减少 DDoS 攻击的机会。 (如果我错了,请纠正我)。
  • What security holes do I open up if I do not limit the max request length for file upload to my webserver?
  • https://manage.accuwebhosting.com/knowledgebase/2997/ASPNet-Error--Maximum-request-length-exceeded.html

  • 但是,我自己上传了一个大视频,并在本地PC和服务器上观看了带宽。我有这个应用程序的 VPS,我可以使用任务管理器的性能选项卡,通过选择以太网并查看发送和接收的图表来查看带宽。

    关键是,我在上传文件时看到高流量持续了几分钟,然后我看到了那个错误。这意味着即使 ASP.NET Core 拒绝请求,服务器的资源也会被消耗。

    所以,我不明白这部分。 ASP.NET Core 如何通过限制请求大小来减少 DoS 或 DDoS 攻击的机会,同时实际占用带宽?一种合乎逻辑的方法是从 multipart/form-data 的开头删除请求。如果请求有效负载/主体太大,甚至不消耗带宽,则内容类型。

    最佳答案

    Dotnet 只能通过上传来知道文件的大小(在您的示例中消耗带宽)。

    这个问题的解决方法是到set a smaller limit for the size of uploaded files .

    dotnet 的工作方式是流式传输文件(一点一点地处理它)。一旦达到最大上传大小,它将返回错误。

    你是对的,这并不能阻止攻击者上传许多大文件 - dotnet 仍然必须上传/流式传输它们,直到达到最大大小。缓解此类攻击的方法是通过其他方式 - 速率限制、IP 阻止、CDN 上的 DDoS 保护等

    关于asp.net-core-mvc - ASP.NET Core 如何通过限制请求大小来防止 DDoS 攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60925644/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com