從追尋 flag 到認識 Robots Protocol(Robots協議)

Robots Protocol

robots 協議,首先了解robots.txt

robots.txt 是搜索引擎中訪問網站的時候要查看的第一個文件【是一種存放於網站根目錄下的ASCII編碼的文本文件】,它通常告訴網站搜索引擎的漫遊器(又稱網絡蜘蛛):此網站中的哪些內容是不應該被搜索引擎的漫遊其獲取的,哪些是可以獲取的。

在抓取網頁時大部分網絡爬蟲會遵循Robot.txt協議,網站本身可以用兩種方式聲明不想被搜索引擎收入的內容,第一種方式,是在站點的根目錄上增加一個純文本文件/robots.txt , 另外一種表示方式是直接在html頁面中使用Robots 的標籤。

當一個搜索蜘蛛訪問到一個網站時,它會首先檢查該站點目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的範圍,如果該文件不存在,所有的搜索蜘蛛將能夠訪問網站上的所有沒有被口令保護的頁面。
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
此文本文件中可以指定不同的網絡爬蟲能夠訪問的頁面和禁止訪問的頁面,指定的由正則表達式表示,網絡爬蟲在採集這個網站之前,首先獲取這個文本文件,然後解析其中的規則,再根據規矩來採集網站的數據。

Robots協議規則

User-agent: * 這裏的*代表的所有的搜索引擎種類,*是一個通配符
Disallow: /admin/ 這裏定義是禁止爬尋admin目錄下面的目錄
Disallow: /require/ 這裏定義是禁止爬尋require目錄下面的目錄
Disallow: /ABC/ 這裏定義是禁止爬尋ABC目錄下面的目錄
Disallow: /cgi-bin/*.htm 禁止訪問/cgi-bin/目錄下的所有以".htm"爲後綴的URL(包含子目錄)。
Disallow: /*?* 禁止訪問網站中所有包含問號 (?) 的網址
Disallow: /.jpg$ 禁止抓取網頁所有的.jpg格式的圖片
Disallow:/ab/adc.html 禁止爬取ab文件夾下面的adc.html文件。
Allow: /cgi-bin/ 這裏定義是允許爬尋cgi-bin目錄下面的目錄
Allow: /tmp 這裏定義是允許爬尋tmp的整個目錄
Allow: .htm$ 僅允許訪問以".htm"爲後綴的URL。
Allow: .gif$ 允許抓取網頁和gif格式圖片
Sitemap: 網站地圖 告訴爬蟲這個頁面是網站地圖

附上鍊接:【文件的具體寫法】https://blog.csdn.net/God_XiangYu/article/details/100602297

robots不是一種規範,而是約定俗成的,所以無法保證網站的隱私,robots文件既不是命令,也不是防火牆,任何一個編輯文本的編輯器即可編輯。

相信很多人瞭解到此協議都是從爬蟲開始,所以此協議又經常被稱爲機器人排除標準

由於是建立在網站和爬蟲之間,總有些誤區:

誤區一:網站上的所有文件都需要蜘蛛抓取,那我就沒必要在添加robots.txt文件了。如果該文件不存在,所有的搜索蜘蛛將默認能夠訪問網站上所有沒有被口令保護的頁面。

每當用戶試圖訪問某個不存在的URL時,服務器都會在日誌中記錄404錯誤(無法找到文件)。
每當搜索蜘蛛來尋找並不存在的robots.txt文件時,服務器也將在日誌中記錄一條404錯誤,
所以你應該做網站中添加一個robots.txt。

誤區二:在robots.txt文件中設置所有的文件都可以被搜索蜘蛛抓取,這樣可以增加網站的收錄率。

網站中的程序腳本、樣式表等文件即使被蜘蛛收錄,也不會增加網站的收錄率,
還只會浪費服務器資源。因此必須在robots.txt文件裏設置不要讓搜索蜘蛛索引這些文件。

誤區三:搜索蜘蛛抓取網頁太浪費服務器資源,在robots.txt文件設置所有的搜索蜘蛛都不能抓取全部的網頁。

如果這樣的話,會導致整個網站不能被搜索引擎收錄。

Despite the use of the terms “allow” and “disallow”, the protocol is purely advisory and relies on the compliance of the web robot. Malicious web robots are unlikely to honor robots.txt; some may even use the robots.txt as a guide to find disallowed links and go straight to them. While this is sometimes claimed to be a security risk, this sort of security through obscurity is discouraged by standards bodies. The National Institute of Standards and Technology (NIST) in the United States specifically recommends against this practice: "System security should not depend on the secrecy of the implementation or its components."In the context of robots.txt files, security through obscurity is not recommended as a security technique.

【翻譯】

儘管使用了“允許”和“禁止”這兩個術語,但該協議純粹是建議性的,並且依賴於網絡機器人的合規性。 惡意網絡機器人不太可能尊重robots.txt; 有些人甚至可以使用robots.txt作爲指導來查找不允許的鏈接並直接找到它們。 雖然這有時被認爲是一種安全風險,標準機構不鼓勵這種通過無聲的安全措施。 美國國家標準與技術研究院(NIST)特別建議不要採用這種做法:“系統安全不應取決於實施或其組件的保密性。”在robots.txt文件的背景下,不推薦將通過隱藏實現安全性作爲一種安全技術。

發佈了46 篇原創文章 · 獲贊 21 · 訪問量 3454
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章