我是靠谱客的博主 年轻店员,最近开发中收集的这篇文章主要介绍java接口防_java接口如何有效防止恶意请求,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

解决方法:

1.在redis数据库db0中新建一个名为rd_sms_request_count表,表结构:

Ip:客户请求的ip

Success_count:成功次数

Failure_count:失败次数

Is_close:是否已经加入到防火墙黑名单,1是  0否 ,默认0

2.结合业务,判单哪个ip是恶意的,每当一个ip访问接口,按照代码返回码,如果是都是错误请求,添加到redis数据库中的Failure_count字段加1,如果都是返回正确结果,那么Success_count加1,Java后台启动一个线程,每天统计一次rd_sms_request_count,先删除rd_sms_request_coun表的Success_count大于0的记录,证明这个ip是正常用户;如果Success_count等于0而且Failure_count大于10000(规则可自定义)就通过java代码把这个ip加入到iptables黑名单中,加入到iptables黑名单中的记录设置为1。

3.把满足条件的ip加入到iptables黑名单中核心代码(在linux测试过可以)

String[] cmd = new String[] { "/bin/sh", "-c", "iptables -I INPUT -s 211.1.0.24 -j DROP;iptables -I INPUT -s 211.1.0.25 -j

DROP"};

try{

Runtime.getRuntime().exec(cmd);

}catch(Exception e) {

e.printStackTrace();

}finally{

Runtime.getRuntime().exec("service iptables save");

}

最后

以上就是年轻店员为你收集整理的java接口防_java接口如何有效防止恶意请求的全部内容,希望文章能够帮你解决java接口防_java接口如何有效防止恶意请求所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部