代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Perl
】
防止网站被爬虫爬取
作者:
光索与诺
/ 发布于
2014/9/22
/
1005
#! /bin/bash LOGFILE=/var/log/nginx/access.log PREFIX=/etc/spiders #日志中大部分蜘蛛都有spider的关键字,但是百度的不能封,所以过滤掉百度 grep 'spider' $LOGFILE |grep -v 'Baidu' |awk '{print $1}' >$PREFIX/ip1.txt # 封掉网易的有道 grep 'YoudaoBot' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt #封掉雅虎 grep 'Yahoo!' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt # 过滤掉信任IP sort -n $PREFIX/ip1.txt |uniq |sort |grep -v '192.168.0.' |grep -v '127.0.0.1'>$PREFIX/ip2.txt # 如果一小时内,发包不超过30个就要解封 /sbin/iptables -nvL |awk '$1 <= 30 {print $8}' >$PREFIX/ip3.txt for ip in `cat $PREFIX/ip3.txt`; do /sbin/iptables -D INPUT -s $ip -j DROP ; done /sbin/iptables -Z // 将iptables计数器置为0 for ip in `cat $PREFIX/ip2.txt`; do /sbin/iptables -I INPUT -s $ip -j DROP ; done 3.使用robots.txt文件:例如阻止所有的爬虫爬取,但是这种效果不是很明显。 User-agent: * Disallow: / 4.使用nginx的自带功能:通过对httpuseragent阻塞来实现,包括GET/POST方式的请求,以nginx为例,具体步骤如下: 编辑nginx.conf #vim /usr/local/nginx/conf/nginx.conf 拒绝以wget方式的httpuseragent,增加如下内容 ## Block http user agent - wget ## if ($http_user_agent ~* (Wget) ) { return 403; } ## Block Software download user agents ## if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; } 平滑启动 # /usr/local/nginx/sbin/nginx -s reload 如何拒绝多种httpuseragent,内容如下: if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Catall Spider|AcoiRobot) ) { return 403; } 大小写敏感匹配 ### 大小写敏感http user agent拒绝### if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) { return 403; } ### 大小写不敏感http user agent拒绝### if ($http_user_agent ~* (foo|bar) ) { return 403; }
试试其它关键字
爬虫爬取
爬虫
同语言下
.
获取本机所有IP和设备的绑定情况
.
生成隨機密碼
.
取文件的最后修改时间
.
获取本机所有IP和设备的绑定情况
.
将perl脚本变成乱糟糟的一团
.
从 HTML网页中解析出链接
.
使用 HTTP::Request 请求 URL 并将响应保存到文件
.
使用指定的User-Agent抓取网页
.
使用 Net::SMTP发送邮件
.
编写的一个简单 Web服务器
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
光索与诺
贡献的其它代码
(
3
)
.
防止网站被爬虫爬取
.
抓取百度真实地址
.
Python 写入CSV
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3