Ric*_*ban 8 file-upload asp.net-core
我们有一个API端点,允许用户上传图像;它的参数之一是 IFormFileCollection。
我们想验证文件大小以确保端点没有被滥用,因此我正在检查Length每个属性IFormFile,但我不知道我是否可以信任该属性,即这是否来自请求?它是否被视为“输入” Content-Length?
Cod*_*ter 10
如果您有一个IFormFileCollection参数,并且在请求中使用“表单数据”内容类型发送数据,则该参数将受到大量难以在线挖掘的管道的绑定,但 如果您只是调试操作方法接受(或任何集合,实际上)并检查该集合,您将看到上传的文件已保存在服务器的磁盘上。IFormFileCollectionIFormFile
这是因为必须读取整个多部分表单请求的正文以确定有多少文件(如果有)和表单参数,并在读取请求正文时验证请求正文的格式。
所以是的,当您的代码最终到达那里时,您可以信任IFormFile.Length,因为它指向存在并包含那么多字节的本地文件。
但你已经来不及拒绝该请求了,因为它已经被完全阅读了。您最好修复堆栈中较低的速率和大小限制,例如在 Web 服务器或防火墙上。
| 归档时间: |
|
| 查看次数: |
9711 次 |
| 最近记录: |