WEB应用的某个方法被莫名客户端强刷

如痴拉风 发布于 2018/11/05 14:02
阅读 203
收藏 0

以spring mybatis开发了一个web应用,部署是Nginx&tomcat,本身访问量不大,偶然发现Nginx的访问日志与tomcat的日志骤增,检查原因是其中有一个不需要登录验证的方法暴露在外网,某个恶意的客户端用代理ip的方式一直来请求,模拟正常业务。  不能在Nginx里面配置IP白名单的方式,因为用户4G网络IP并不固定, 各位有什么办法能防止这种恶意请求么,最好是不要进入controller?

加载中
0
wang2650
wang2650
你怎么判断他是恶意的,就怎么放吧
如痴拉风
如痴拉风
这个请求一直不间断的来刷业务,只是每次过来请求的ip不同,所以肯定是恶意的自动化操作
0
暴猿
暴猿

提供两种解决思路,可以尝试一下

1、加验证码

2、获取user agent提取里面的通用信息   限时限次访问

暴猿
暴猿
回复 @如痴拉风 : 如果还是不好控制那可以尝试下通过cookie来记录每个客户端的访问次数 如果1分钟内某个客户端访问超过N次 那就说明不正常 可以给出访问频繁的警告提示 这样的话对正常用户来说也不会影响
如痴拉风
如痴拉风
验证码是考虑过了,只是需要增加用户的操作复杂度;限时限次的话,模拟请求的IP是不固定了,请求频率也是随机的,我没有找到一个合适的通用信息来作为判断的依据
0
zzx10
zzx10

业务请求过来,根据业务场景来确定,限制该业务每个ip的可访问频次,可以用redis实现计数和超时,并在后台设置增加ip黑白名单功能,只能减少部分请求,量不是超大后端再搞集群应该能扛住,还可以搞请求限流,关键是不太好区分请求是正常还是非正常。

返回顶部
顶部