# 每小时执行一次上面的脚本crontable 0 */1 * * * sh /script/block_ip.sh
#功能 每小时限制一下ip。每小时访问大于1000次的ip被封锁。
#!/bin/sh
lastdate=`/bin/date -d last-minute +%Y%m%d`
IP_LIST_FILE=/script/deny.txt
/bin/cat /opt/web_logs/cctv_access_$lastdate.log | grep `date -d last-minute +%Y:%H`|awk '{print $1}' |sort |uniq -c|sort -nr|head -n 10 |awk '{if($1>1000) {print $2} }' >$IP_LIST_FILE
IPTABLES_BIN=/sbin/iptables
BAD_IP_ADDR_LIST=$(grep -Ev "^#" $IP_LIST_FILE)
#######ACCEPT wanghailou access 202.108.16.65/27 202.108.17.0/24 220.181.168.0/24#############
for i in $BAD_IP_ADDR_LIST
do
echo -n "Blocking $i ...";
$IPTABLES_BIN -D INPUT -s $i -j DROP
$IPTABLES_BIN -D OUTPUT -d $i -j DROP
$IPTABLES_BIN -A INPUT -s $i -j DROP
$IPTABLES_BIN -A OUTPUT -d $i -j DROP
echo "DONE.";
done
屏蔽爬虫ip抓取。自动执行没小时一次
姓名 | |
邮箱 | |
URL | |
我在同一个代码中面临问题,因为我也在使用它。我检查了所有的错误,但仍然没有。