最近網(wǎng)站被facebook的爬蟲惡意抓取,1秒鐘抓好幾次,持續(xù)好久,寫robots.txt禁止facebookexternalhit和meta-externalagent,它不認,還繼續(xù)抓~
就研究了下怎么從服務(wù)器上禁止UA頭,找到了解決辦法,如下是摘錄過來的技術(shù)文檔,備用。
萬惡的facebookexternalhit|meta-externalagent,你抓我站有毛用???

進服務(wù)器后進入這個路徑 nginx/conf 新建一個文件,文件名可以為:agent_deny.conf 復制以下代碼到此文件:
禁止Scrapy等爬蟲工具的抓取
if ($http_user_agent ~* "Scrapy|Sogou web spider|compatible|Baiduspider|Lavf/|1.8.0.00757") {
return 403;
}
禁止指定UA及UA為空的訪問
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方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}
針對特殊的user_agent的訪問
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;
}
保存文件退出 進入站點的配置文件,在server下的位置粘貼進這段代碼:
include agent_deny.conf;
保存,退出,即可生效
注: 1、如果你只想禁止google的,就把compatible刪了,改成Googlebot 2、最好的辦法是禁止播放器爬蟲,這樣你的cms愛怎么被爬就怎么被爬
==============================
如果你只是想播放器不被爬蟲,如果你的播放器主頁是php的,那就在主頁php文件最上方加入以下代碼:
$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’; 此參數(shù)可以自己修改
無天博客
掃一掃加微信 



最新評論
通過 systemctl 管理 firewalld 服務(wù): # 啟動防火墻 systemctl start fire
firewalld 常用命令: # 查看當前狀態(tài) firewall-cmd --state # 查看所有規(guī)則 f
轉(zhuǎn)自寶塔平臺,留存?zhèn)溆?/span>
來源通義千問
$viewrnd=rand(2,5); 這個是重點
多年前親測有用,現(xiàn)在你只能網(wǎng)上再找找了,注意版本號
親測無效。。
復制了兩段代碼后直接前后臺都你的網(wǎng)站遇到致命錯誤。。。