asp获取ip被包安全(抓包软件)
时间:2023-10-28 21:40:45 浏览量:30
近期项目中,提供了一些调用频率较高的api接口,需要保障服务器的稳定运行;需要对提供的接口进行限流控制。避免因客户端频繁的请求导致服务器的压力。
AspNetCoreRateLimit 是一个ASP.NET Core速率限制的解决方案,旨在控制客户端根据IP地址或客户端ID向Web API或MVC应用发出的请求的速率。AspNetCoreRateLimit包含一个 IpRateLimitMiddleware 和 ClientRateLimitMiddleware ,每个中间件可以根据不同的场景配置限制允许IP或客户端,自定义这些限制策略,也可以将限制策略应用在每?个API URL或具体的HTTP Method上。
由上面介绍可知AspNetCoreRateLimit支持了两种方式:基于 客户端IP(IpRateLimitMiddleware)和客户端ID(ClientRateLimitMiddleware)速率限制 接下来就分别说明使用方式
添加Nuget包引用:
1、修改Startup.cs中方法:
2、在appsettings.json中添加通用配置项节点:(IpRateLimiting节点与Startup中取的节点对应)
配置节点已添加相应注释信息。
规则设置格式:
端点格式: {HTTP_Verb}:{PATH},您可以使用asterix符号来定位任何HTTP谓词。
期间格式: {INT}{PERIOD_TYPE},您可以使用以下期间类型之一:s, m, h, d。
限制格式: {LONG}
3、特点Ip限制规则设置,在appsettings.json中添加 IP规则配置节点
1、修改Startup文件:
2、通用配置采用IP限制相同配置,添加客户端限制配置:
3、调用结果:
设置规则:1s只能调用一次:首次调用
调用第二次:自定义返回内容
添加IpRateLimitController控制器:
调用时返回结果: