一些爬蟲(chóng)不斷的訪問(wèn)網(wǎng)站,占用網(wǎng)站帶寬,對(duì)網(wǎng)站運(yùn)行產(chǎn)生不利的影響。為此,我們可以屏蔽某些陌生的爬蟲(chóng)訪問(wèn)網(wǎng)站,杜絕其抓取網(wǎng)站內(nèi)容,從而節(jié)省帶寬,減輕服務(wù)器壓力。為達(dá)到這個(gè)目的,我們可以使用.htaccess文件來(lái)實(shí)現(xiàn)。
使用.htaccess阻止某些機(jī)器人爬蟲(chóng)抓取網(wǎng)站
下面代碼檢查用戶代理字符串(即是UA),如果包含UptimeRobot關(guān)鍵詞,則返回403的禁止訪問(wèn)提示。
#get rid of the bad bot
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*UptimeRobot.* [NC]
RewriteRule .* - [F]
上述代碼中,#號(hào)開(kāi)頭表示這行是注釋行,[NC]是忽略字符大小寫(xiě)的意思,[F]是Forbidden的首字母,即是禁止的意思。
如果要阻止多個(gè)機(jī)器人,則使用以下代碼:
#get rid of the bad bot
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*Robot1.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Robot2.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Robot3.* [NC,OR]
RewriteRule .* - [F]
這將阻止3個(gè)不同的機(jī)器人,即“ Robot1”,“ Robot2”,“ Robot3”。用你要屏蔽的Robot UA關(guān)鍵詞替換它們,不要從列表中刪除“ [OR]”,它告訴服務(wù)器列表中還有更多。
本文介紹了如何使用.htaccess阻止某些機(jī)器人爬蟲(chóng)訪問(wèn)網(wǎng)站,如果想要阻止某IP(段)訪問(wèn)網(wǎng)站,則可以看看此文使用.htaccess禁止某IP地址(段)訪問(wèn)網(wǎng)站。