服务器屏蔽爬虫的方案

2023-04-06 21:58:17 浏览数 (2)

进服务器后进入这个路径 nginx/conf 新建一个文件,文件名可以为:agent_deny.conf 复制以下代码到此文件:

禁止Scrapy等爬虫工具的抓取

代码语言:javascript复制
if ($http_user_agent ~* "Scrapy|Sogou web spider|compatible|Baiduspider|Lavf/|1.8.0.00757") {
return 403;
}

禁止指定UA及UA为空的访问

代码语言:javascript复制
if ($http_user_agent ~ "compatible|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|LinkpadBot|Ezooms|^$" ){
return 403;
}

禁止非GET|HEAD|POST方式的抓取

代码语言:javascript复制
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}

针对特殊的user_agent的访问

代码语言:javascript复制
if ($http_user_agent ~ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)") {
return 404;
}

保存文件退出 进入站点的配置文件,按我箭头所示位置粘贴进这段代码:

代码语言:javascript复制
include agent_deny.conf;

保存,退出,即可生效

注: 1、如果你只想禁止google的,就把compatible删了,改成Googlebot 2、最好的办法是禁止播放器爬虫,这样你的cms爱怎么被爬就怎么被爬

==============================

如果你只是想播放器不被爬虫,如果你的播放器主页是php的,那就在主页php文件最上方加入以下代码:

代码语言:javascript复制
$theua='compatible|Baiduspider|YisouSpide'; 
$uapanduan=preg_match('('.$theua.')', $_SERVER['HTTP_USER_AGENT'], $uapd)?1:0; if($uapanduan==1){     
    header('Location:https://www.baidu.com');exit(); 
}

注:$theua='compatible|Baiduspider|YisouSpide'; 此参数可以自己修改

0 人点赞