專利名稱:實現防止自動檢索程序侵入的Web網站的系統和方法
技術領域:
本發明涉及互聯網,尤其適用于那些在歡迎人們訪問的同時,防止自動檢索程序(robots)訪問和收集其信息的萬維網(WWW)網站。
背景技術:
WWW自動檢索程序,也叫做Web Wanderers,Web Crawlers或者Web Spiders,經常被稱作bot(bot是自動檢索程序的簡稱),是用來自動遍歷Web網站的超文本結構的程序,因而在檢索完一個文件時,可以遞歸檢索所有鏈接的網頁。特別地,這是許多搜索引擎及其漫游在萬維網上的自動檢索程序尋找和索引內容以加入到其數據庫中的方式。雖然大部分自動檢索程序提供的是有價值的服務,但已有一定數量的網站管理員關注這些引擎究竟需要多少寶貴的服務時間和帶寬。即使大部分的自動檢索程序都設計的很好,被專業地運用并且沒有問題,還是有Web服務器不歡迎自動檢索程序的訪問。有時是因為自動檢索程序的行為方式。有些自動檢索程序快速發起請求或重復尋找同樣的文件,會使服務器疲于應付。如果故意如此,這就是拒絕服務(DoS)攻擊的一種形式,盡管這種情況多數是由于自動檢索程序設計不好或有缺陷造成的。在其它情況下,自動檢索程序遍歷一部分不適合搜索的WWW服務器,例如,含有重復或臨時信息,包括大文件或CGI腳本(CGI是從萬維網HTTP服務器運行外部程序的標準)的WWW服務器。在后一個例子中以及類似的情況下,在訪問和執行腳本時,腳本會在產生動態網頁時消耗大量的服務器資源,從而降低系統速度。認識到這些問題后,許多Web自動檢索程序為Web網站管理員和內容提供商提供了限制自動檢索程序的允許工作范圍的手段。其中提供了兩種機制。一種被稱作“自動檢索程序排斥協議(Robots Exclusion Protocol)”,它不是真正實施的協議,而是國際互聯網工程任務組(IETF)在1996年以“Web自動檢索程序控制方法”為題制訂的國際互聯網草案,是有效的文件。根據該文件,Web網站管理員可以通過在提供位于http//.../robots.txt的特殊格式文件來指定網站的那些部分不可以讓自動檢索程序訪問。另一種機制是假定Web作者可以通過使用特殊的超文本標記語言(HTML)META標記符,例如用Robots META標記符’來指出網頁是否允許被索引或進行鏈接分析。然而,這些機制依賴于自動檢索程序的合作,甚至不保證對每種自動檢索程序都有效。此外,就像上面(DoS)介紹過的,有些自動檢索程序并不那么友好。例如,它們會惡意攻擊Web網站(于是,他們并不理會robots.txt文件和robots meta標記符)使得Web網站過載并開始拒絕對合法用戶,即試圖正常使用Web網站的人們提供服務。并且,雖然Web網站上的可用信息并不是機密,但Web網站管理員可能希望防止信息無限制地散布以致被各種自動檢索程序索引和引用。實現這個目的的標準方式是通過某種形式的身份驗證保護Web網站,普遍的方式是管理擁有密碼的注冊用戶列表,使得他們在訪問Web網站前必須先登錄。這么做的一個很明顯的缺陷是系統管理員必須管理、更新非公開的用戶列表,因而需要第一次查詢Web網站的用戶進行注冊,而且假設用戶在以后查詢時可以記得密碼。這可能完全不是系統管理員初衷,甚至起到了反作用,因為要求用戶注冊會阻礙一些喜歡瀏覽Web網站的人深入瀏覽。
發明內容
本發明的基本目的是防止自動檢索程序調查Web網站的內容。
本發明的另一個目的是不使試圖訪問自動檢索程序保護的Web網站的人,對在第一次訪問時注冊并在以后的每次訪問都登錄的方式失望。
本發明的另一個目的是不依賴于自動檢索程序的合作,限制它們訪問Web網站的內容。
本領域技術人員通過下面結合附圖進行的描述可以理解本發明的其它目的、特征和優點。本文期望涉及到任何其它的優點。
這里描述了防止自動檢索程序瀏覽歡迎頁面之外的Web網站的方法和系統。在收到了由未確定的發起方發出的初始請求時,Web網站應答一個帶有詢問(challenge)的歡迎頁面。然后,在收到未確定的發起方發送的進一步請求時,Web網站檢查詢問是否被正確回答。如果回答正確,則認為未確定的發起方是人,并且Web網站繼續處理進一步請求和所有后續的請求。然而,如果詢問沒有回答正確,則認為未確定的發起方是自動檢索程序,在這種情況下該發起方的所有請求都不被響應。
在終端用戶不需要注冊并且Web網站管理員不必管理授權用戶訪問列表的情況下,本發明可以防止自動檢索程序調查Web網站的內容。
圖1是本發明的示范歡迎頁面。
圖2示出對應的HTML代碼。
圖3示出本發明的方法的步驟。
圖4示出了在計時器啟動的情況下,當針對帶有記錄的IP地址的請求拒絕對基于本發明的網頁的訪問時的方法步驟。
圖5帶有詢問的示范歡迎頁面的其他例子。
具體實施例方式
圖1圖解了本發明防止自動檢索程序訪問Web網站除歡迎頁面之外的內容的方法。如圖所示,人們在訪問Web網站時會看到示范的歡迎頁面,例如,在下列URL[100](統一資源定位符)http//www.anysite.com/welcome.html’上的歡迎頁面。可以通過任何網絡瀏覽器訪問Web網站,例如,可以使用Netscape公司,501E.Middlefield Road,Mountain View,CA94043,USA的netscape瀏覽器[110]。然后,根據這個禁止自動檢索程序的第一種方法,歡迎頁面提出一個虛構詢問,這個詢問對于訪問者很簡單但是自動檢索程序一定會出錯。對于各種不同的可能性,圖1圖解了基于本發明的典型詢問。在這個例子里,歡迎頁面還顯示包含幾個幾何圖形的圖像[120],這些幾何圖形可以用網頁訪問者假定能夠閱讀的語言的單詞或語句明確表達出來。那么,在這里與圖像相關的包括正方形,圓形,叉形和三角形,所有對Web網站的訪問都會被提示[130]點擊某圖形,例如,點擊叉形。希望繼續訪問的人自然就會照做,而自動檢索程序則什么也不做或做錯,僅僅是因為它不知道什么是叉形。因此,根據人的抽象思維能力高或很高而自動檢索程序則完全不具備抽象思維能力,可以輕易地區分人和自動檢索程序。這就可以達到本發明的目的,即既不需要強迫訪問Web網站的人注冊和登錄,也不需要Web網站管理員管理合法用戶列表,就可以禁止自動檢索程序訪問Web網站中除歡迎頁面之外的其他內容。
為了使Web網站更能夠抵抗針對給定詢問或可預知的詢問組而定制的自動檢索程序的瀏覽,提示可以設成隨機的,使得在每次有人進入時,詢問都有所不同。例如,叉形可以移到圖中的不同位置,使得當點擊它時,返回的坐標就會不一樣。或者,提示的要求可以改變一下,例如,要求點擊三角形。
圖2示出了這個例子的HTML(超文本標記語言)的源代碼[140],它使用服務器端映射,例如,ismap[142],包含在使用HTML語言<A..>..</A>結構格式[149]的錨(anchor)標志中。因而,當訪問者點擊叉形[121]時,瀏覽器將含有在ismap[142]中的點擊的X和Y的坐標值的請求返回服務器URL(/cgi-bin/challenge.exe)[141],使得服務器可以檢查點擊的坐標是否與叉形的位置匹配。錨標志也帶有標識字段,即id=XD34F739[143],當如上所述詢問根據不同用戶而改變時,該字段使包含點擊坐標的答案與當前的詢問聯系起來。
圖3描述了當用詢問應答對Web網站發起初始請求的發起方時基于本發明的方法的步驟。在收到這個初始請求[300]后,Web網站服務器應答[310]。通過與發起方建立TCP/IP連接來完成(Web網站使用的國際互聯網TCP/IP系列協議中的可靠傳輸協議)。應答具有包含詢問的網頁的形式,例如,圖1中的那種形式。收到服務器的應答后,發起方繼續與Web網站進行新的會話[320]。收到新的會話后,Web網站服務器檢查詢問是否被正確回答[330]。如果回答正確[340],則認為發起方是人并且讓其通過。然而,如果Web網站發現詢問沒有被正確回答,則發起方一定是自動檢索程序[350]。隨后停止現有的和可能的更進一步的處理[351],包括斷開TCP連接或重定向至另一Web網站[352]。并且可以記住IP源地址[361],并且計時器開始計時,使得從該IP源地址發出的訪問請求會被暫時禁止,如圖4所示。
圖4示出了認為發起方為自動檢索程序而將其IP地址記住的情況。可以暫時決定立即斷開或重定向以這個特定IP地址發來的所有請求,和認為來自自動檢索程序的所有請求(雖然這并不總是正確的,因為自動檢索程序可能隱藏在對其所有轉發的IP源地址進行網絡地址轉換的代理服務器或防火墻的后面)。由于如圖3提到的那樣,請求的IP源地址被記錄下來而且啟動了計時器,每次收到新的請求后[410],首先檢查是否是同樣的IP源地址[420]。如果不是,則正常繼續下去[450]。如果是的話,就檢查計時器[430],如果超時了,清除記錄的IP地址[440],并按正常程序處理請求[450]。然而,如果沒有超時,則在繼續處理新接收的請求[410]之前,斷開或重定向TCP連接[460]。
圖5是人們可以很容易回答出來的詢問的另一些例子。
圖5-a具有測驗[510]的形式,可以和圖中所示[500]的一樣簡單,也可以根據需要具有復雜形式,用來防范精心制作的自動檢索程序,或者可選地,用以適應具有同類技能的特定終端用戶群。
圖5-b是另一種以更抽象方式組合圖像[520]和文本[530]的可選例子,其中暗示出答案,因此更適合于區分人與自動檢索程序。然而值得一提的是,這種詢問依賴于文化背景,并可以區分不同社會基礎上的或不同宗教信仰的人。
權利要求
1.防止自動檢索程序瀏覽Web網站中除歡迎頁面之外的內容的方法[110],所述Web網站中的所述方法包括步驟在從未確定的發起方接收到初始請求時,用所述帶有詢問的歡迎頁面[310]應答所述的初始請求[300];在從所述未確定的發起方接收到進一步請求時,檢查[330]所述詢問是否被正確回答,如果正確回答,則認為所述未確定的發起方是人[340],繼續處理所述的進一步請求和可能的后續請求[341];如果沒有正確回答,認為所述未確定的發起方是自動檢索程序[350],停止處理所述進一步請求和可能的后續請求[351]。
2.根據權利要求1的方法,還包含步驟記錄所述未確定的發起方的IP源地址[361];啟動計時器[362]。
3.根據前面任何一個權利要求的方法,其中停止處理所述進一步請求的所述步驟還包括以下步驟斷開或重定向與所述的未確定的發起方建立的TCP連接。
4.根據前面任何一個權利要求的方法,每當接收到新的請求時[410],還包括以下步驟檢查[420]所述新請求的IP源地址是否和記錄的IP源地址匹配,如果匹配,則檢查[430]所述的計時器是否超時,如果超時,清除[440]所述記錄的IP地址;并正常處理[450]所述新請求;如果沒有超時,斷開或重定向所述TCP連接[460];如果不匹配,則正常處理[450]所述新請求;對每個新請求[410]繼續執行上述步驟。
5.根據前面任何一個權利要求的方法,其中所述詢問包括提示所述未確定的發起方執行特定操作[130]。
6.根據前面任何一個權利要求的方法,其中在后續每次訪問所述Web網站時,提示都不相同。
7.根據前面任何一個權利要求的方法,其中所述操作包括必須在多外選項[120]中做出選擇。
8.根據前面任何一個權利要求的方法,其中所述操作要求對測驗[510]做出應答。
9.根據前面任何一個權利要求的方法,其中所述操作得到暗示[530]。
10.一種系統,位于實現詢問式訪問的特定Web網站中,該系統包括適于執行根據前面任何一個權利要求的方法的裝置。
11.一種計算機類設備可讀介質,包括用于執行根據權利要求1到9中任何一個的方法的指令。
全文摘要
本發明允許防止自動搜索程序瀏覽Web網站中除歡迎頁面以外的內容。當從未確定的發起方接收到初始請求時,Web網站用含有詢問的歡迎頁面應答該請求。接著,當從未確定的發起方接收到進一步請求時,Web網站可以檢查詢問是否回答正確。如果回答正確,則認為未確定的發起方是人,并且批準繼續訪問。如果詢問沒有回答正確,則認為未確定的發起方是自動搜索程序,在這種情況下拒絕進一步的訪問。本發明在不需要用戶進行登錄的情況下防止自動搜索程序調查Web網站的內容。
文檔編號G06F21/20GK1537377SQ01814686
公開日2004年10月13日 申請日期2001年8月9日 優先權日2000年9月12日
發明者馬克·蘭伯頓, 埃里克·萊維-阿伯格諾利, 帕薩爾·舒伯特, 舒伯特, 萊維-阿伯格諾利, 馬克 蘭伯頓 申請人:國際商業機器公司