当前页面: 开发资料首页 → JSP 专题 → tomcat如何限制同一IP在一定时间段内对服务器的多次访问.
tomcat如何限制同一IP在一定时间段内对服务器的多次访问.
摘要: tomcat如何限制同一IP在一定时间段内对服务器的多次访问.
tomcat如何限制同一IP在一定时间段内对服务器的多次访问.
比如可以用软件在1分钟内可以对tomcat造成N次的访问,这样就容易让服务器崩溃.
我知道tomcat带有RemoteHostValve和RemoteAddrValve来限制指定主机访问,但都需要指定地址,不能满足我的要求.请问tomcat里面有没有相关的配置来避免这样的情况?
如果控制了,有人正常使用怎么办?点几下就不能用了
tomcat自带的有tomcat阀,通过配置server.xml文件实现,但是那个只能限定一定IP的访问。
你这个只能通过编程实现了。
这个程序,我以前写过, 不过最终还是给删除了. 因为有很多人通过一个IP 上网的.
IMHO, 这个主意可不是一个好主意。
假如你的服务属于局域网,比如公司内部网站,那么存在恶意攻击的可能性比你tomcat崩溃的可能性还要低好多倍。如果是外网,那么你如何判断出来自不同物理机器但属于同一个IP的(网关,代理等)不同请求?难道结合session id或者cache?
其次,你说:“比如可以用软件在1分钟内可以对tomcat造成N次的访问”,但是受制于HTML,正常访问也会造成1分钟内多达几十个HTTP连接,比如他访问的是一个内容非常丰富,有N个

标记的网页。
所以,你要做的是增强你程序的健壮性。比如,通过配置web.xml或者利用filter,来限制所有请求都必须事先登录,且登录页面有验证码来保证不会被攻击,同时加以集群和负载平衡功能等
比如在一分钟内有人通过同一IP访问数千次呢?我的意思是能不能设置相同IP一分钟内只能访问50次.
非常感谢各位的参与!
to shine333(enihs),如果别人只访问首页,不登陆系统,那样程序里面所做的配置就不能阻止这样的访问了.一些访问量大的门户网站他们也会遇到这样的问题吧.
他们做的就是我说的:
> 集群和负载平衡
而不是刻意限制某个IP的访问量
to shine333(enihs), 请问,集群和负载平衡里面那个方法可以解决不断访问首页这个问题.谢谢!
我说了,不是限制别人,而是提高自身的能力
感谢大家,感谢shine333(enihs),我应该提高网站的访问能力才是,针对个别的非法访问IP,采用禁止访问.