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接口如何有效防止恶意请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程服务器的典型适用场合
- 下一篇: vimdiff解决git merge冲突