C# 在对特定API调用进行并发尝试后阻止IP地址
我最近在我的网站上进行了渗透测试,因此有一个特定的API调用,我想实现一种基于IP的节流形式,以防止滥用 我正在寻找一种从黑名单中添加和删除IP地址的方法,该黑名单应用于我的azure网站。 我知道这是可能的,但我一直无法找到一种方法来实现这一点的程序 此外,我不能在运行中编辑web.config,因为这会回收我的应用程序池,导致我丢失会话和缓存数据,这可能会对用户产生不利影响C# 在对特定API调用进行并发尝试后阻止IP地址,c#,asp.net,security,azure,C#,Asp.net,Security,Azure,我最近在我的网站上进行了渗透测试,因此有一个特定的API调用,我想实现一种基于IP的节流形式,以防止滥用 我正在寻找一种从黑名单中添加和删除IP地址的方法,该黑名单应用于我的azure网站。 我知道这是可能的,但我一直无法找到一种方法来实现这一点的程序 此外,我不能在运行中编辑web.config,因为这会回收我的应用程序池,导致我丢失会话和缓存数据,这可能会对用户产生不利影响 我曾考虑实施一个依赖于将黑名单存储在数据库上的解决方案,但由于这是为了防止自动攻击,我宁愿在此之前阻止它,以避免使用资
我曾考虑实施一个依赖于将黑名单存储在数据库上的解决方案,但由于这是为了防止自动攻击,我宁愿在此之前阻止它,以避免使用资源查询数据库。最简单的解决方案可能是将IP存储在缓存中,以便快速读/写,减少负载和“短时间”你有没有按照那页上的链接找到那页?这不是你想要的吗?@Damien_不信者是的,我已经读过那篇文章了。我认为这个解决方案太宽泛了,因为只有一个API会受到未经验证用户的威胁。我不想冒险在网站的其他区域造成副作用。我现在已经实现了Web.config方法,但有一些慷慨的限制,因为它非常快速和简单。然而,我将这个问题留待讨论,因为我认为知道一种针对特定API URL的方法会很好(如果您希望在站点的不同区域具有不同的安全级别)