一、手工识别和拒绝爬虫的访问
最简单的方法就是用netstat检查80端口的连接
netstat -nt | grep youhostip:80 | awk
'{print $5}' | awk -F
":"
'{print $1}'| sort | uniq -c | sort -r -n
什么命令可以按照80端口连接数量对来源ip进行排序。
1.1 用iptable拒绝访问:
iptables -A INPUT -i eth0 -j DROP -p tcp --dport 80 -s 84.80.46.0/24
上面可以封锁c网段地址。
二、通过识别爬虫的User-Agent信息来拒绝爬虫
三、通过网站流量统计系统和日志分析来识别爬虫
一种策略是在网页里面嵌入一段js,这段js会向特定的统计服务器发送请求的方式记录访问量;另一种策略是直接分析服务器日志,来统计网站访问量。
grep Processing production.log | awk
'{print $4}' | awk -F
'.'
'{print $1"."$2"."$3".0"}' | sort | uniq -c | sort -r -n | head -n 200 > stat_ip.log
上面可以统计服务器日志统计访问最多的IP地址段。
四,验证码