为了防止我的ASP.NET C#应用程序中的DOS攻击,我在本文中的Jarrod答案的帮助下实现了节流。Best way to implement request throttling in ASP.NET MVC?
但这使用了Ip地址,这使得它容易受到高级攻击者的攻击,这些攻击者可以很容易地更改它。识别匿名用户的另一种选择是使用他们的会话ID。
我认为在用户重新启动浏览器之前不能更改它,因此它可以是一个很好的替代方案。但从安全的角度来看,我不太确定。请告诉我使用它是否安全?如果没有,有没有其他方法可以达到这个目的呢?谢谢
编辑:
有一些方法需要更长的油门。这就是为什么我需要一个大约5秒到2分钟的编程油门。我已经为IIS配置了动态Ip限制,但是我不能为它指定这么长的时间。
发布于 2016-09-26 16:12:42
我想你的术语可能弄混了。DoS是拒绝服务的意思。更改多个记录或请求功能的人不是DoS攻击,通常情况下,大多数DoS攻击是分布式的,因此是DDoS。
根据您提供的链接请求的内容称为节流...但正如其他人所建议的那样,sessionid只是一个传递到cookie中的值,可以很容易地修改它以绕过检查,就像您可以简单地在请求前面放置一个代理来掩蔽请求之间的源IP一样。
因此,如果您只希望限制,那么您需要在想要保护的功能之前实现身份验证,使用您发布的限制代码,并且可能还会抛出一个CSRF令牌。
但是..。如果你想停止DDoS,这不会在第7层发生,因为数据已经在服务器上了。
https://stackoverflow.com/questions/39695335
复制相似问题