Omu*_*Omu 18 c# asp.net asp.net-mvc
在这个网站上,如果你点击次数过多或发表评论太快或类似的话,你会被重定向到"你是一个人"屏幕.有人知道怎么做类似的事吗?
Rob*_*Rob 10
这几乎可以肯定是一种启发式方法,试图"猜测"用户是某种形式的自动化过程,而不是一个人,例如:
通常,"x"和"y"值将被表述为"真实的人"不太可能做的事情,例如:
一旦你获得了一套规则,你就可以实现一些在每个请求开始时检查它们的代码,无论是在Page_Load中调用的方法,在你的主页中是什么,在asp.net管道中是什么,这是简单的一点!;)
这是一个非常好的ASP.NET验证码控件,首先您需要它
http://www.codeproject.com/KB/custom-controls/CaptchaControl.aspx
然后你可以将它与这个想法一起使用,尝试找到dos攻击
请注意此代码中 if( context.Request.Browser.Crawler ) return false; 行中的错误,它必须返回 true,或者肯定完全删除它。
并将其作为点击或提交的组合。
如果用户在一段时间内点击次数太多,或者提交次数太多,那么您只需打开 capthaControl,如果点击次数太多,则触发 dos attact。这样,您就可以同时获得 2 个解决方案,即防止攻击和验证码。
我自己做了一些类似的东西,但我改变了两者的源代码,以满足我的需要。
一个更有趣的链接,提供了用于 dos 攻击的不同代码。
http://madskristensen.net/post/Block-DoS-attacks-easily-in-ASPNET.aspx
希望这对您有帮助。