標籤:

[轉載]Nginx防蜘蛛爬蟲處理

作者:howhy

鏈接:Nginx防蜘蛛爬蟲處理 - howhy - 博客園

來源:博客園 - 開發者的網上家園

著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

原文地址:Nginx防蜘蛛爬蟲處理 - howhy - 博客園

假定一個場景:某個網站它可能不希望被網路爬蟲抓取,例如測試環境不希望被抓取,以免對用戶造成誤導,那麼需要在該網站中申明,本站不希望被抓取。有如下方法:

方法一:修改nginx.conf,禁止網路爬蟲的ua,返回403。

server {

listen 80;

server_name 127.0.0.1;

#添加如下內容即可防止爬蟲

if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot")

{

return 403;

}

方法2:網站更目錄下增加Robots.txt,放在站點根目錄下。

在robots文件生成 - 站長工具站點可以針對現在的搜索引擎按照想要的規則生成robots.txt文件。

知識擴展:

robots.txt是搜索引擎中訪問網站的時候要查看的第一個文件。robots.txt文件告訴蜘蛛程序在伺服器上什麼文件是可以被查看的。

當一個搜索蜘蛛訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的範圍;如果該文件不存在,所有的搜索蜘蛛將能夠訪問網站上所有沒有被口令保護的頁面。百度官方建議,僅當您的網站包含不希望被搜索引擎收錄的內容時,才需要使用robots.txt文件。如果您希望搜索引擎收錄網站上所有內容,請勿建立robots.txt文件。

Robots協議是國際互聯網界通行的道德規範,基於以下原則建立:

1、搜索技術應服務於人類,同時尊重信息提供者的意願,並維護其隱私權;

2、網站有義務保護其使用者的個人信息和隱私不被侵犯。

當然,如果搜索引擎不遵守約定的Robots協議,那麼通過在網站下增加robots.txt也是不起作用的。(在正式環境中,可以適當允許搜索引擎抓取收錄)


推薦閱讀:

nginx快速入門之基本原理篇
我會這樣設計WAF系統
如何配置nginx+uwsgi+django?
把nginx改為一個普通的tcp伺服器,應用層協議自己定義,有可行性嗎?
Linux多進程模型比多線程更容易實現熱部署嗎?

TAG:Nginx |