nginx中shell脚本封锁采集IP地址

本文介绍下,在nginx环境中,使用shell脚本封锁那些采集自己网站内容的IP地址,不错的想法,实现起来也简单,有需要的朋友参考下。

本文主要内容:
封采集网站IP的shell脚本

实现思路:
分析Nginx日志,比如分析最后50000条记录,如果同一个IP访问了1000以上,基本可以肯定这个是有人在采集,当然封之前要判断好,不要连搜索引擎蜘蛛的IP都封了,一定要谨慎。

方法:
第一步:
nginx.conf 最后加上
 

复制代码 代码示例:
include  vhost/blockip.conf; (vhost/blockip.conf的路径按照您的真实路径,自己设定)

第二步: 写分析nginx日志的shell脚本
vi /data/sh/blockip.sh

脚本内容:
 

复制代码 代码示例:
#!/bin/bash
tail -n50000 /data/logs/xxx.log \
| awk '{print $1,$12}' \
|grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou|360|bing|soso" \
|awk '{print $1}'|sort|uniq -c|sort -rn \
|awk '{if($1>1000)print "deny "$2";"}' > /data/blockip.conf
/root/nginx_reload

保存,退出,运行
#/data/sh/blockip.sh &

如此之后,即可让采集的IP无法访问,达到了封锁恶意采集者 IP地址的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值