web 防攻击shell脚本
统计nginx日志,当单个ip在10秒钟内访问 /account/sendPhoneCode次数超过5次,就禁用这个ip,正常用户不可能有么大的访问量 #!/bin/bash #write: lijing QQ 858080796 #date: 20160528 v2.0 #description:拦截非法IP #定义变量 RETVAL=0 Date=$(date '+%Y-%m-%d') Time=$(date '+%Y:%H:%M' -d '-1 minute') MON=$(date|awk -F" " '{print $2}') TODAY=$(date|awk -F" " '{print $3}') Log="/data/logs/nginx/access.log " LINE="70000" #关键字 Key01="sendPhoneCode" Status=/tmp/statuS_deny_ip /sbin/service iptables status > $Status #定义函数 #禁止时间函数 secure_deny_time(){ Time01=$(date "+%H:%M:%S" -d " -10 second") Time02=$(date "+%H:%M:%S" -d " -9 second") Time03=$(date "+%H:%M:%S" -d