- 信息內容安全管理及應用
- 李建華主編
- 2803字
- 2021-10-27 15:46:39
3.3.1 靜態網絡媒體發布信息的獲取方法
隨著網絡社區概念以及個性化信息概念的不斷普及,當前多數網絡媒體首先需要身份認證,才可進行正常的內容訪問。對于正在網絡瀏覽的自然人而言,身份認證過程是相對簡單的。互聯網用戶只需要根據網絡內容發布者的提示,在身份認證網頁上填寫正確的用戶名和密碼信息,進行必要的圖靈測試(如正確輸入以圖像信息顯示的驗證碼內容),并提交所有信息,就能成功完成身份認證。盡管如此,對于通過網絡交互重構實現信息獲取的計算機而言,增加身份認證過程會直接導致用于信息獲取的網絡通信過程模擬變得更加復雜。下面重點探討基于網絡交互重構機制的、面向需要身份認證的、對外發布的網頁形態都屬于靜態網頁范疇的靜態網絡媒體,實現發布內容提取的具體方法。相對地,可匿名瀏覽的靜態網絡媒體信息的獲取,無須加載身份認證網絡交互重構機制。
在基于網絡交互重構實現信息獲取的過程中,如果網絡媒體要求身份認證,信息獲取環節就需要在原有的信息請求過程重構前,先模擬基于HTTP的網絡身份認證過程。這是由于面向網絡媒體的身份認證通常基于HTTP。實現基于網絡交互重構的、需身份認證的信息獲取主要涉及用于表征身份認證成功的Cookie信息獲得,以及攜帶相關Cookie信息進一步向網絡媒體請求發布內容兩個獨立環節。
1.基于Cookie機制實現身份認證
Cookie機制用于同一互聯網客戶端在不同時刻訪問相同網絡媒體時,客戶端信息的恢復與繼承。HTTP/1.1針對Cookie機制定義了兩類報頭選項(Header Fields),分別是Set-Cookie選項和Cookie選項。其中,Cookie選項存在于互聯網客戶端發送的請求信息中,而Set-Cookie選項則出現在網絡媒體響應信息的頭部。
在互聯網客戶端向網絡媒體發送信息請求,尤其是個性化(自定義)的信息請求時,網絡媒體響應信息頭部通常會包含Set-Cookie選項,返回記錄在網絡媒體端的互聯網用戶身份信息。在獲得網絡媒體響應信息后,互聯網客戶端在提取響應信息主體內容的同時,還會將響應信息中的Set-Cookie選項內容存入本地Cookie信息記錄文件。當互聯網客戶端再次向相同的網絡媒體發送信息請求時,請求信息就會包含Cookie選項,Cookie選項內容與先前Set-Cookie選項內容一致。這時,互聯網客戶端在網絡媒體端保留的身份信息就會得以繼承,網絡媒體自動根據先前的用戶自定義信息返回相應版本的響應內容,如圖3-8所示。

圖3-8 基于Cookie機制的HTTP信息交互過程
利用Cookie機制實現身份認證,就是在互聯網客戶端面向需身份認證的網絡媒體認證成功后,網絡媒體向客戶端返回記錄在媒體端的用戶信息,即用于表征身份認證成功的Cookie信息。只要客戶端在隨后的發布信息請求中攜帶表征認證成功的Cookie信息,網絡媒體就會向客戶端返回需要身份認證才可訪問的網絡發布內容。對于沒有攜帶表征認證成功的Cookie信息的客戶端請求,網絡媒體返回身份認證失敗信息,并要求用戶進行認證身份。
2.面向需身份認證的靜態媒體實現信息請求網絡交互重構
基于網絡交互重構實現媒體信息獲取是指立足于真實的網絡通信過程,通過網絡編程順序模擬網絡媒體信息請求過程的各個環節,最終實現網絡媒體發布信息的獲取。在面對需身份認證才可瀏覽的靜態媒體進行發布信息獲取時,網絡身份認證過程與靜態媒體所含網頁及其內嵌URL發布信息請求過程,都需要進行正確的網絡交互過程模擬,才能達到獲取靜態媒體發布信息的最終目標。
在基于網絡交互重構實現媒體信息獲取過程中,媒體信息獲取環節是通過響應信息返回碼來判斷信息獲取請求是否成功。一般而言,HTTP/1.X 20X(如HTTP/1.1200OK)標志著信息請求成功,而HTTP/1.X 40X意味著信息請求失敗。需特別說明的是,HTTP/1.X 401標志著在信息請求過程中身份認證失敗,這時網絡媒體信息獲取環節需要智能地進行身份認證過程模擬,如圖3-9所示。

圖3-9 基于Cookie機制實現需身份認證才可訪問信息請求的過程
在針對首次信息請求的響應返回碼是401時,媒體信息獲取環節首先判斷內容發布媒體身份認證過程中是否需要圖靈檢測。所謂圖靈檢測,是指目前在網絡媒體身份認證過程中普遍使用的高噪聲數字/字母圖像。互聯網客戶端在填寫用戶名和密碼信息的同時,必須同時辨識數字/字母信息,并與用戶名和密碼信息一同提交,才可以通過身份認證。用于網絡媒體信息獲取的用戶名和密碼信息,可以事先在目標媒體上手動申請得到,并針對不同網絡媒體維護用戶名/密碼庫,如圖3-10所示。關于圖靈檢測,讀者可以自行查閱本書圖像信息處理的相關章節。
需要特別說明的是,在基于網絡交互重構實現靜態媒體發布信息獲取的過程中,網絡編程模擬信息請求過程,理論上可以通過充分了解相關通信協議的具體交互過程予以實現。不過考慮到每個網絡媒體的身份認證過程不盡相同,同時針對不同網絡媒體發布信息的請求數據包內容組成各異,完全基于理論進行通信協議數據交互過程模擬,在網絡交互數據包重組與分析環節存在諸多難點。

圖3-10 網絡媒體信息獲取身份認證模擬
這時,可以在常見的局域網偵聽工具的協助下,首先手動完成身份認證請求與靜態網頁信息瀏覽全過程,并從偵聽工具中獲得身份認證請求數據包、網絡媒體響應數據包,以及靜態網頁信息請求數據包的具體構成。具體如圖3-11所示。
在此基礎上,編程模擬網絡交互過程時直接按照信息請求數據包的實際組成,構造身份認證及網頁信息請求數據包(攜帶表征認證成功的Cookie),并在面向身份認證請求的響應數據包相應位置提取表征身份認證成功的Cookie信息,如Set-Cookie選項內容。在完全掌握真實網絡通信過程的前提下進行網絡交互重構,能夠有效降低網絡通信數據包重組與分析,以及編程重構網絡交互過程的工作復雜度。
3.靜態網絡媒體發布信息的解析
通過網絡交互重構獲取到靜態網絡媒體起始網頁發布信息后,可以采用傳統的基于HTML標記匹配的網頁解析方法,提取網頁主體內容及其內嵌的URL信息。例如,可以從“<body>與</body>”標記對中提取靜態網頁主體內容,從“<a href=…>與</a>”標記對中提取網頁內嵌URL信息。關于網頁解析方法可能涉及的其他HTML標記,讀者可以自行查閱相關文獻。網絡媒體信息獲取環節繼續為每個內嵌URL構建并且發送信息請求包(內含表征身份認證成功的Cookie),并獲取其發布內容。最終在所關注的互聯網范圍內,針對靜態網絡媒體實現發布信息的主動獲取工作。

圖3-11 基于局域網偵聽工具獲得網絡交互數據包的組成
當前,還可利用文檔對象模型(Document Object Module,DOM)樹,智能定位、主動提取靜態網頁主體內容及其內嵌URL信息。DOM樹是以層次結構組織的節點或信息片斷集合,提供跨平臺并且可應用于不同編程語言的標準程序接口。DOM樹把文檔對象轉換成樹形結構,文檔中的每個部分都是DOM樹的節點。HTML DOM是專門應用于HTML/XHTML的文檔對象模型,主要包含Window、Document、Location、Screen、Navigator與History等HTML DOM對象。HTML網頁與HTML DOM樹間的對應關系如圖3-12所示。

圖3-12 HTML網頁對應的HTML DOM樹
HTML網頁對應的HTML DOM樹存儲于瀏覽器內存對象中,該對象實現了包含若干方法的標準程序接口。網頁開發人員可以通過相應接口,對于HTML DOM樹上的每個節點進行遍歷、查詢、修改或刪除等操作,從而動態訪問和實時更新HTML網頁的內容、結構與樣式。例如,可以通過查詢“Body”節點,獲得靜態網頁主體內容;通過遍歷“A”節點,獲得靜態網頁內嵌URL信息。