原文轉自本人部落格 – Ku_Andrew`s Blog
CDN源站遮蔽搜尋引擎爬蟲
0x00 前言
自從去年全站使用阿里雲CDN之後,網站訪問速度得到了很明顯的提升,同時阿里雲CDN的穩定性也很棒。但最近這段時間發現,百度和谷歌的爬蟲開始爬我的源站了。這就有點麻煩了,要是不趕緊解決,給主站降權就不好了。
0x01 思路
因為蜘蛛爬了不該爬的東西,解決思路自然是限制蜘蛛的爬取。
大概有三種方法可以限制蜘蛛的抓取:
1.robots.txt檔案
robots檔案用於限制搜尋引擎蜘蛛的行為,在源站遮蔽蜘蛛主要是為了限制蜘蛛對同程式下不同域名的抓取。但是robots.txt檔案沒有可以限制域名相關的引數,只能限制蜘蛛對當前域名下檔案的抓取,此路不通。
2.設定META標籤
當訪客訪問的域名不是主站域名時,在網頁的<meta>標籤中植入限制蜘蛛活動的內容,實現起來比較簡單,只用修改一下模板中的header檔案即可。
3.識別蜘蛛的UA,在網站程式上做限制
獲取訪客的User-Agent,如果是搜尋引擎蜘蛛的UA,則跳轉至主站。也有一個問題,就是要去網上收集各家搜尋引擎蜘蛛的UA,想著就累。
人懶,就選擇設定META標籤的方法。
0x02 實踐
第一步,在程式中獲取訪客訪問的域名。這一歩就不做多介紹了,不同語言和環境有不同的方法獲取,PHP可以通過如下語句獲取訪問者當前訪問的域名:
$_SERVER[`SERVER_NAME`];
第二步,如果不為主站域名,則輸出HEAD中的META標籤限制蜘蛛的活動:
if ($_SERVER[`SERVER_NAME`] != `www.kungg.com` {
echo `<META NAME="robots" CONTENT="noindex,nofollow">`;
}
0x03 大功告成
額,插不了圖片。。