解决方法:

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接口如何有效防止恶意请求相关推荐

  1. java接口如何有效防止恶意请求

    java接口如何有效防止恶意请求?已解决 解决方法: 1.在redis数据库db0中新建一个名为rd_sms_request_count表,表结构: Ip:客户请求的ip Success_count: ...

  2. 回调java 简书_Java接口回调机制详解【转】

    一.回调的含义和用途 1. 什么是回调? 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类:同步调用.异步调用和回调.同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的 ...

  3. java wifi类_Java 接口——面向对象的精髓

    原标题:Java 接口--面向对象的精髓 接口有何用?面试宝典上背下来的总结,你真的明白吗?接口&工厂方法其实很简单,什么是接口先看看生活中的接口,比如USB接口. USB接口的设计者在最初就 ...

  4. java api练习_Java接口练习

    package 接口interface; /* 用接口实现关灯开灯 */ public class Test { public static void main(String[] args) { Pe ...

  5. java接口调用_java 接口怎么调用

    一个类实现了某一个接口就可以调用接口中的方法.接口可以理解为一种能力,例如:每种动物都有叫的能力,但是每种动物的叫声都不一样,叫的能力就可以定义为一个接口. 一.创建项目和包 打开Eclipse,依次 ...

  6. java防报毒_java接口如何有效防止恶意请求

    解决方法: 1.在redis数据库db0中新建一个名为rd_sms_request_count表,表结构: Ip:客户请求的ip Success_count:成功次数 Failure_count:失败 ...

  7. Java 接口语法_JAVA接口的基本语法

    一.接口的概念 在之前学习了抽象类,其中抽象类的抽象方法定义了标准,具体的方法实现交给子类完成,之后再结合多态的特征在一定程度上解决代码的耦合(上节课的参数统一),这需要在继承关系中实现,但是继承存在 ...

  8. java修饰方法_java接口中方法、属性修饰符详解

    java接口的修饰符:abstract(inteeface本身就是抽象的,加不加abstract都一样). 接口中字段的修饰符:public static final(默认不写) 如下解释: publ ...

  9. java的接口语法_JAVA接口的基本语法

    一.接口的概念 在之前学习了抽象类,其中抽象类的抽象方法定义了标准,具体的方法实现交给子类完成,之后再结合多态的特征在一定程度上解决代码的耦合(上节课的参数统一),这需要在继承关系中实现,但是继承存在 ...

最新文章

  1. 推荐一款免费的数据库管理工具,比 Navicat 还要好用,功能还很强大
  2. share_from_this
  3. Ubuntu14.04 YouCompleteMe Configure
  4. java中判断 101-200 之间有多少个素数,并输出所有的素数
  5. Animate.css介绍
  6. ios html5上架,iOS原生集成H5+详细流程
  7. 高德地图车道级导航适配OPPO Find N折叠屏手机
  8. python信息安全书籍_信息安全从业者书单推荐
  9. 孕期服务器声音影响,噪音多少分贝影响胎儿听力
  10. Atitit 指令集(IA及指令集架构 1. 指令集(IA:InstructionSet)是指CPU指令系统所能识别(翻译)执行的全部指令的集合。 1 1.1. (1)运算指令 1 1.2. (2)
  11. 语言学句法分析树形图怎么画_英语语言学树形结构图怎么画
  12. 一、barrier指令DSB,DMB,ISB,fence——内存屏障,指令屏障
  13. vue报错:vue.js:634 [Vue warn]: Cannot find element: #app
  14. ply文件格式详细说明
  15. 职业年金是发放到养老退休金里面吗?
  16. 5个AI人工智能平台推荐,绘画、写作文案、文章一键生成
  17. 传奇该怎么选择服务器?
  18. 计算机控制实验比例环节,陈sir-实验一 典型环节的电路模拟
  19. 赛门铁克拆分后蜕变:未来不只是“防病毒”
  20. nyoj248 BUYING FEED

热门文章

  1. 未来计算机研究院,计算人生·智启未来|计算机学院2019级本科生迎新工作圆满完成...
  2. 雅诗兰黛公司启用旅游零售渠道专用的加尔盖嫩先进分销中心,加强全球履约网络
  3. 计算机图书榜 TOP 1,这本书卖疯了。。。
  4. Tech Talk 活动预告 | 云原生DevOps的Kubernetes技巧
  5. python 拼音相似度_Python实现简单的文本相似度分析操作详解
  6. 基于随机森林算法的多因子选股方法分析与实现(1)
  7. i513400和13400f区别 i5 13400和i5 13400f选哪个好
  8. oracle 11g 新特性
  9. 网络和计算机加密驱动,Win7电脑驱动器怎么加密?Win7系统给驱动器加密的方法和详细步骤...
  10. Angular--小小调色板