gpt4 book ai didi

java - 是否有一种简单有效的方法来延迟 Java Servlet 的响应

转载 作者:行者123 更新时间:2023-11-29 07:10:39 24 4
gpt4 key购买 nike

当我收到明显的黑客攻击时,我该怎么办?我希望有一种简单的方法可以让他们浪费时间,而不涉及服务器资源。即使是几秒钟的延迟也可能使暴力攻击徒劳无功。

将它们发送到 AsyncContext 似乎过于占用处理器资源,并且超时会自动将相同的请求重新发送回它开始的位置。这实际上可能有助于 DOS 攻击。

我正在使用 Jetty 并了解 DoSFilter,但如果我可以在检测到犯规行为时延迟响应会更有效,这在我的情况下很容易察觉。我认为每次失败的验证/身份验证尝试都应该以某种方式自动延迟响应。

我在这里并不是真正的身份验证,因此身份验证协议(protocol)/前端没有用。我只是验证满足特定条件的模式的连接参数。我知道 TCP/IP 会发出通知,但如果我能静静地断开无效访问尝试并让它们挂起,那就太理想了。

最佳答案

我认为,如果您检测到傻瓜游戏,则在一段时间内屏蔽他们的 ip 会更明智。在 /etc/hosts.deny 中添加它们的 ip 会很容易(它适用于许多 unix 守护进程,但我不确定它是否也适用于 java 进程,我认为它应该 工作,因为它被 tcp 守护进程本身使用)。 man 5 hosts.deny 在命令行给出了一些提示(或检查 this online link )。

顺便说一句,我想你可以使用 Thread.sleep()暂停一个 servlet,就像在任何普通的 java 代码中一样。但是,这可能会导致来自同一调用者的更多请求长时间保持打开状态,从而增加应用程序服务器必须分配和维护的 Activity 资源。因此,如果攻击者可以在多线程中工作,这可能会帮助他阻止您的服务器,因为它将保留所有用于他的攻击的线程,阻止所有其他用户访问您的服务。

关于java - 是否有一种简单有效的方法来延迟 Java Servlet 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14187112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com