伙计们,我们都知道 IP 黑名单不起作用 - 垃圾邮件发送者可以通过代理进入,另外,合法用户可能会受到影响......也就是说,在我看来,黑名单似乎是阻止持续攻击者的有效机制,因为IP 的实际列表是根据应用程序的反馈和用户行为动态确定的。
例如: - 有人试图暴力破解您的登录屏幕 - 编写不佳的机器人向您的站点发出非常奇怪的 HTTP 请求 - 脚本小子使用扫描仪查找您的应用程序中的漏洞
我想知道以下机制是否可行,如果可以,您是否知道是否有任何工具可以做到这一点:
- 在 Web 应用程序中,开发人员有一个钩子来报告“违规行为”。一项罪行可能是轻微的(密码无效),并且需要数十次这样的罪行才能被列入黑名单;或者它可能是重大的,在 24 小时内发生几次这样的罪行会让你出局。
- 在加载每个页面之前,某种形式的网络服务器级块会启动,并确定用户是否来自“坏”IP。
- 有一个内置的“宽恕”机制:一段时间后,攻击不再计入 IP。
谢谢!
额外说明:如果该解决方案在 PHP 中工作,那就太棒了,但我很想听听您对任何语言/平台的一般方法的看法