我有这样的情况。想象一下有一个公共 REST 服务。我们不希望某人能够在短时间内多次访问此服务,因为他们将能够阻止我们的数据库(我认为本质上是 DDOS 攻击?)。
有没有办法有效防范此类攻击?我们使用的技术是 Spring/Spring Security。
如果您使用 Spring Boot 有一个相当新的开源项目可以处理这个问题:
https://github.com/weddini/spring-boot-throttle https://github.com/weddini/spring-boot-throttling
对 Spring 服务进行节流控制的声明式方法。
@Throttting注解帮助你限制服务方法的数量
针对特定用户、IP 的每个 java.util.concurrent.TimeUnit 调用
地址、HTTP 标头/cookie 值或使用 Spring 表达式语言
(SpEL)。
显然,这不会阻止 Web 服务器级别的 DDOS 攻击,但它将有助于限制对长时间运行的查询的访问或实施公平使用策略。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)