1

我正在尝试从 3 天开始制作或找到好方法来检测是否有用户尝试使用许多登录凭据登录我的 Web 应用程序或进行洪水攻击,因此我可以在我的登录页面中显示验证码作为此原因的示例,但没有运气。

我可以知道是否有用户登录用户名:“xyz”尝试多次登录,但如果用户尝试使用多个用户名登录,如“xyz1”、“xyz2”、“xyz3”、“admin”、“administrator”怎么办", "根" .... 等等。

特别是该用户可能会尝试使用不同的会话和隐藏 IP 或多个 IP。

如果你想知道好的例子,它就像雅虎和谷歌登录页面。

我试图通过谷歌搜索和浏览stackoverflow中的许多问题来找到我糟糕的语言的方法,但没有找到有用的文章。

应用程序托管 bean 有用吗?使用起来健康吗?以及执行此操作的正确方法是什么,导致应用程序托管 bean 或任何其他方式?

4

1 回答 1

2

你不能。正如您自己发现的那样:您将无法从您的 Web 应用程序中可靠地保护您的 Web 应用程序。您的应用程序可以选择:

  1. 记录针对单个用户名的多次尝试这是相当基本的,您会在许多 Web 应用程序中找到它;记录针对同一用户名的失败登录尝试,并在一定次数的失败后阻止进一步的登录尝试。不会阻止攻击者继续尝试

  2. 在一段时间内记录来自单个 IP 地址的多次尝试这也可能相当简单,前提是您可以信任随 HTTP 请求发送的 IP 地址。正如您所猜测的那样,您更有可能无法信任该 IP 地址(可能被欺骗,可能是代理等),但您仍然可以记录 IP 地址,并阻止所有注册/登录给定的 IP 地址。不会阻止攻击者继续尝试

这给您留下的,是您的应用程序之外:与您的网络基础设施提供商合作,以便能够及早检测垃圾邮件和 DDoS 攻击,并阻止相关数据包并可能自动将这些 IP 地址添加到黑名单中。

有关的:

于 2015-01-18T15:04:46.293 回答