真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php如何設(shè)置禁止抓取網(wǎng)站

php禁止抓取的實(shí)現(xiàn)方法:首先通過“$_SERVER['HTTP_USER_AGENT'];”方法獲取UA信息;然后將惡意“USER_AGENT”存入數(shù)組;最后禁止空“USER_AGENT”等主流采集程序即可。

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括新吳網(wǎng)站建設(shè)、新吳網(wǎng)站制作、新吳網(wǎng)頁制作以及新吳網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,新吳網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到新吳省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

推薦:《PHP教程》

我們都知道網(wǎng)絡(luò)上的爬蟲非常多,有對網(wǎng)站收錄有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots規(guī)則對服務(wù)器造成壓力,還不能為網(wǎng)站帶來流量的無用爬蟲,比如宜搜蜘蛛(YisouSpider)(最新補(bǔ)充:宜搜蜘蛛已被UC神馬搜索收購!所以本文已去掉宜搜蜘蛛的禁封!==>相關(guān)文章)。最近張戈發(fā)現(xiàn)nginx日志中出現(xiàn)了好多宜搜等垃圾的抓取記錄,于是整理收集了網(wǎng)絡(luò)上各種禁止垃圾蜘蛛爬站的方法,在給自己網(wǎng)做設(shè)置的同時(shí),也給各位站長提供參考。

一、Apache①、通過修改 .htaccess文件二、Nginx代碼

進(jìn)入到nginx安裝目錄下的conf目錄,將如下代碼保存為 agent_deny.conf
cd /usr/local/nginx/conf
vim agent_deny.conf

#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
return 403;
}
#禁止指定UA及UA為空的訪問
if ($http_user_agent ~* "FeedDemon|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|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {
return 403;
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}

然后,在網(wǎng)站相關(guān)配置中的 location / { 之后插入如下代碼:
include agent_deny.conf;
如張戈博客的配置:
[marsge@Mars_Server ~]$ cat /usr/local/nginx/conf/zhangge.conf

location / {
try_files $uri $uri/ /index.php?$args;
#這個(gè)位置新增1行:
include agent_deny.conf;
rewrite ^/sitemap_360_sp.txt$ /sitemap_360_sp.php last;
rewrite ^/sitemap_baidu_sp.xml$ /sitemap_baidu_sp.php last;
rewrite ^/sitemap_m.xml$ /sitemap_m.php last;
保存后,執(zhí)行如下命令,平滑重啟nginx即可:
/usr/local/nginx/sbin/nginx -s reload
三、PHP代碼

將如下方法放到貼到網(wǎng)站入口文件index.php中的第一個(gè) //獲取UA信息

$ua = $_SERVER['HTTP_USER_AGENT'];
//將惡意USER_AGENT存入數(shù)組
$now_ua = array('FeedDemon ','BOT/0.1 (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy Library','oBot','jaunty','YandexBot','AhrefsBot','MJ12bot','WinHttp','EasouSpider','HttpClient','Microsoft URL Control','YYSpider','jaunty','Python-urllib','lightDeckReports Bot');

//禁止空USER_AGENT,dedecms等主流采集程序都是空USER_AGENT,部分sql注入工具也是空USER_AGENT

if(!$ua) {
header("Content-type: text/html; charset=utf-8");
die('請勿采集本站,因?yàn)椴杉恼鹃L木有小JJ!');
}else{
foreach($now_ua as $value )
//判斷是否是數(shù)組中存在的UA
if(eregi($value,$ua)) {
header("Content-type: text/html; charset=utf-8");
die('請勿采集本站,因?yàn)椴杉恼鹃L木有小JJ!');
}
}
四、測試效果

如果是vps,那非常簡單,使用curl -A 模擬抓取即可,比如:
模擬宜搜蜘蛛抓?。?br/>curl -I -A 'YisouSpider' zhang.ge
模擬UA為空的抓?。?br/>curl -I -A '' zhang.ge
模擬百度蜘蛛的抓?。?br/>curl -I -A 'Baiduspider' zhang.ge

修改網(wǎng)站目錄下的.htaccess,添加如下代碼即可(2種代碼任選):三次抓取結(jié)果截圖如下:

可以看出,宜搜蜘蛛和UA為空的返回是403禁止訪問標(biāo)識,而百度蜘蛛則成功返回200,說明生效!

補(bǔ)充:第二天,查看nginx日志的效果截圖:

①、UA信息為空的垃圾采集被攔截:

②、被禁止的UA被攔截:

因此,對于垃圾蜘蛛的收集,我們可以通過分析網(wǎng)站的訪問日志,找出一些沒見過的的蜘蛛(spider)名稱,經(jīng)過查詢無誤之后,可以將其加入到前文代碼的禁止列表當(dāng)中,起到禁止抓取的作用。

五、附錄:UA收集

下面是網(wǎng)絡(luò)上常見的垃圾UA列表,僅供參考,同時(shí)也歡迎你來補(bǔ)充。

FeedDemon 內(nèi)容采集
BOT/0.1 (BOT for JCE) sql注入
CrawlDaddy sql注入
Java 內(nèi)容采集
Jullo 內(nèi)容采集
Feedly 內(nèi)容采集
UniversalFeedParser 內(nèi)容采集
ApacheBench cc攻擊器
Swiftbot 無用爬蟲
YandexBot 無用爬蟲
AhrefsBot 無用爬蟲
YisouSpider 無用爬蟲(已被UC神馬搜索收購,此蜘蛛可以放開?。?MJ12bot 無用爬蟲
ZmEu phpmyadmin 漏洞掃描
WinHttp 采集cc攻擊
EasouSpider 無用爬蟲
HttpClient tcp攻擊
Microsoft URL Control 掃描
YYSpider 無用爬蟲
jaunty wordpress爆破掃描器
oBot 無用爬蟲
Python-urllib 內(nèi)容采集
Indy Library 掃描
FlightDeckReports Bot 無用爬蟲
Linguee Bot 無用爬蟲

文章題目:php如何設(shè)置禁止抓取網(wǎng)站
文章出自:http://weahome.cn/article/cjseos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部