nginx防止批量抓取网站内容
来源:互联网 发布:linux redhat jdk安装 编辑:程序博客网 时间:2024/05/21 16:14
Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx
脚本如下:
#!/bin/sh
nginx_home = /Data/app_1/nginx
log_path = /Data/logs
/usr/bin/tail -n50000 $log_path/access.log \
|awk ‘$8 ~/aspx/{print $2,$13}’ \
|grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \
|awk ‘{print $1}’|sort|uniq -c |sort -rn \
|awk ‘{if($1>150)print “deny “$2″;”}’> $nginx_home/conf/vhosts/blockip.conf
/bin/kill -HUP `cat $nginx_home/nginx.pid`
也可以通过分析nginx日志过滤出频繁访问IP,直接用iptables屏蔽这个IP,就用不着重启nginx了,并且屏蔽效果更好。
单个IP的命令是
iptables -I INPUT -s 124.115.0.199 -j DROP
封IP段的命令是
iptables -I INPUT -s 124.115.0.0/16 -j DROP
封整个段的命令是
iptables -I INPUT -s 194.42.0.0/8 -j DROP
封几个段的命令是
iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP
刚才不小心搞的自己都连不上了-_-!!!
iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP
以后用这种只封80端口就行了,不会出问题!
iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP
解封
iptables -F
清空
iptables -D INPUT 数字
- nginx防止批量抓取网站内容
- Excel抓取网站内容
- 如何防止搜索引擎收录抓取页面内容
- curl 实现抓取网站内容
- JAVA抓取网站网页内容
- JAVA抓取网站网页内容
- 抓取网站内容常见方法
- 如何抓取网站页面内容
- 防止网站内容被采集
- 打开浏览器 与 抓取网站内容
- 搜索引擎是如何抓取网站内容的
- 快速抓取某个网站内容方法
- 记录几个抓取网页内容的网站
- 远程抓取网站上的内容
- 使用Jsoup登录网站抓取网页内容
- 搜索引擎不抓取的网站内容大纲
- JAVA使用爬虫抓取网站网页内容
- 多进程方式抓取基金网站内容
- LINQ to SQL收藏
- 对文件分组
- 软件质量基本概念
- 数理逻辑:证明论初步(4)算子1,2,3
- 数理逻辑:证明论初步(5)正规(或正则)公式
- nginx防止批量抓取网站内容
- 数理逻辑:证明论初步(6)关于正规公式的若干引理
- VisualHG, VS的Mercurial版本管理插件
- iBatis入门教程
- 数理逻辑:证明论初步(7)重复使用算子1,2,3的运算
- word转pdf软件
- 使用 GDB 调试多进程程序
- 数理逻辑:证明论初步(8)算子1*,2*,3*的性质
- Android真机访问Tomcat和IIS7