我們一些大數據量的網站總是淪為爬蟲獲取信息的對象,導緻大量消耗服務器資源。有些爬蟲是為了采集整個網頁,也有些隻來找尋郵箱等聯系方式信息。
前段時間發現有一陣爬蟲特别多,從apache日志裡面看到這樣的特征:
115.151.110.238 - - [14/Jul/2018:18:03:01 +0800] port:443 "liaoning.mingluji.com" "GET /%E5%AE%89%E5%BE%BD%E5%A5%BD%E6%80%9D%E5%AE%B6%E6%B6%82%E6%96%99%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8%E9%98%9C%E6%96%B0%E5%88%86%E5%85%AC%E5%8F%B8 HTTP/1.1" 403 236 "http://www.baidu.com/s?wd=%BD%F5%D6%DD%CA%D0+%CD%BF%C1%CF+%B9%AB%CB%BE+%D3%CA%D6%B7+qq.com&rn=10&pn=240&usm=1&rsv_page=1" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" 115.210.52.33 - - [14/Jul/2018:18:03:02 +0800] port:443 "amp.foreign.mingluji.com" "GET /KISS_N_TELL_SPORTSWEAR_INC. HTTP/1.1" 403 202 "http://www.baidu.com/s?wd=%C3%BC%C9%BD%CA%D0+%C8%CB%D4%EC%B8%EF+%B9%AB%CB%BE+EMail+msn.com&rn=10&pn=20&usm=1&rsv_page=1" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" 14.120.120.139 - - [14/Jul/2018:18:03:03 +0800] port:443 "guangdong.mingluji.com" "GET /%E5%8D%97%E6%B5%B7%E5%B8%82%E9%BB%84%E5%B2%90%E8%BE%BE%E6%88%90%E5%8C%96%E5%B7%A5%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8%E8%8D%86%E9%97%A8%E8%9C%A1%E5%88%B6%E5%93%81%E5%8E%82 HTTP/1.1" 403 251 "http://www.baidu.com/s?wd=%C9%C7%CD%B7%CA%D0%E5%A9%BD%AD%C7%F8+%C5%D7%B9%E2%C0%AF+%B9%AB%CB%BE+%D3%CA%D6%B7+google.com&rn=10&pn=0&usm=1&rsv_page=1" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" 115.151.110.238 - - [14/Jul/2018:18:03:03 +0800] port:443 "liaoning.mingluji.com" "GET /%E6%9C%AC%E6%BA%AA%E7%BB%8F%E6%B5%8E%E5%BC%80%E5%8F%91%E5%8C%BA%E6%9E%AB%E5%8F%B6%E6%B6%82%E6%96%99%E5%8E%82 HTTP/1.1" 403 227 "http://www.baidu.com/s?wd=%BD%F5%D6%DD%CA%D0+%CD%BF%C1%CF+%B9%AB%CB%BE+%D3%CA%D6%B7+qq.com&rn=10&pn=240&usm=1&rsv_page=1" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"
上面标出的紅色為一些email的後綴,另外還有126.com、21cn等,剛開始我們還不了解,後來詳細分析受訪頁面以及來源網址後,基本摸清這是專門來獲取email等聯系方式的爬蟲。其referer是百度搜索多年前的網址,現在百度早就不用http方式的搜索了,而是幾年前改為https的搜索。
我們針對這種爬蟲的特征使用正則表達式進行了屏蔽,可以在.htaccess裡面增加:
RewriteCond %{HTTP_REFERER} ^http:\/\/www\.baidu\.com.{30,50}.*page=1$ [NC] RewriteRule .* - [F]
需要說明的是,這種爬蟲特别頑固,IP很分散,有很大的IP池可以更換,應該是有組織的公司或者機構,單獨封IP很難封,而采用上面的方式匹配REFERER可以全部屏蔽。
但這種爬蟲也很傻和無賴,即使我們屏蔽了幾個月,爬蟲都被拒絕了一無所獲,卻依然不間斷地來訪,說明這種爬蟲是非常大量地在國内互聯網上爬取,即使在很多網站被屏蔽了也不影響它繼續爬其它的,另一個問題是這種爬蟲的維護機構有問題,很多年沒有更改過策略,導緻大量浪費他們自己和别人的網絡資源,真是損人不利己!國内互聯網行業be evil的人太多🤬
评论