WEB应用的某个方法被莫名客户端强刷
以spring mybatis开发了一个web应用,部署是Nginx&tomcat,本身访问量不大,偶然发现Nginx的访问日志与tomcat的日志骤增,检查原因是其中有一个不需要登录验证的方法暴露在外网,某个恶意的客户端用代理ip的方式一直来请求,模拟正常业务。 不能在Nginx里面配置IP白名单的方式,因为用户4G网络IP并不固定, 各位有什么办法能防止这种恶意请求么,最好是不要进入controller?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
业务请求过来,根据业务场景来确定,限制该业务每个ip的可访问频次,可以用redis实现计数和超时,并在后台设置增加ip黑白名单功能,只能减少部分请求,量不是超大后端再搞集群应该能扛住,还可以搞请求限流,关键是不太好区分请求是正常还是非正常。
验证码是考虑过了,只是需要增加用户的操作复杂度;限时限次的话,模拟请求的IP是不固定了,请求频率也是随机的,我没有找到一个合适的通用信息来作为判断的依据
回复
如果还是不好控制那可以尝试下通过cookie来记录每个客户端的访问次数 如果1分钟内某个客户端访问超过N次 那就说明不正常 可以给出访问频繁的警告提示 这样的话对正常用户来说也不会影响
提供两种解决思路,可以尝试一下
1、加验证码
2、获取user agent提取里面的通用信息 限时限次访问
这个请求一直不间断的来刷业务,只是每次过来请求的ip不同,所以肯定是恶意的自动化操作
你怎么判断他是恶意的,就怎么放吧