You need to enable JavaScript to run this app. 如何限制ImageSharp Web的图片可调整尺寸以防范DDoS攻击?
优惠活动
大模型
产品
解决方案
定价
更多

如何限制ImageSharp Web的图片可调整尺寸以防范DDoS攻击?

背景
  • 开发场景:在ASP.NET Core 5.0网站中,使用ImageSharp.Web实现图片在线尺寸调整功能。
  • 安全需求:为防范DDoS(分布式拒绝服务)攻击,需要限制ImageSharp.Web允许调整的图片尺寸范围。

举个正常使用的例子:有一张原始尺寸为800x400、大小为100kb的图片,常规调整请求如下:

<img src="image.jpg?width=300&height=300" alt="..." /> // 调整后图片为40kb,可有效节省带宽

存在的风险:恶意用户可以通过篡改查询参数发起非预期的大尺寸调整请求,比如:

<img src="image.jpg?width=8000&height=4000" alt="..." /> // 调整后尺寸为8000x4000,文件大小达2mb

如果恶意用户枚举7000、7001、7002…8000这类连续的像素值,发起上万次差异化的大尺寸图片请求,会快速消耗服务器内存与出口带宽,最终导致服务无响应。

待解决问题
  1. 如何配置ImageSharp.Web,禁止将图片调整至超过其原始尺寸的大小?
  2. 如何配置ImageSharp.Web,仅允许将图片调整至预先定义的合法尺寸(如300x300、300x600)?

查阅ImageSharp.Web官方入门文档时,未找到对应的内置可配置项,当前项目的startup.cs基础配置如下:

public void ConfigureServices(IServiceCollection services)
{
    // ....
    services.AddImageSharp();
}

内容的提问来源于stack exchange,提问作者Sha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.02 23:24:04