java - 在 Java Servlet 中限制 HTTP 请求

标签 java http sockets servlets tcp

在 java servlet 中,如何根据客户端的 IP 地址限制来自用户的 http 请求?我不想每秒处理超过 X 个来自特定源 IP 地址的请求,其中 X 是可配置的并且具有 [0.1; 的实际值; 10] 范围(从 10 秒内 1 个请求到每秒 10 个请求)。

最佳答案

在 code.google.com 上托管的 o​​wasp-esapi-java 项目有一个节流过滤器的实现,您可以“按原样”使用它或将其用作您自己的灵感。

您可以在以下链接查看代码:

http://code.google.com/p/owasp-esapi-java/source/browse/trunk/src/main/java/org/owasp/esapi/filters/RequestRateThrottleFilter.java

关于java - 在 Java Servlet 中限制 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6209411/

相关文章:

java - HTTP 查询参数和 HTTP 表单参数之间的区别?

c++ - 谁能给我解释一下这个 IOCP 图?

sockets - 客户端/服务器通信被防火墙阻止

ruby - 无法使用 Ruby 1.9.3 正确读取 HTTP 请求 header

Java 泛型 : compatible service subclass

java - 从长变量中获取第二个数字

java - Bitnami Tomcat Stack Maven 编译失败

java - Http 响应内容类型为 json。 "Invalid mime type"错误

Android Lollipop Wifi 套接字 java.net.ConnectException ETIMEDOUT

java - 如何在 JavaFX 中编辑文本字段选择的文本颜色?