我有一個防火牆實現,我想記錄所有訪問的網站上的機器。所以當用戶在瀏覽器(任何瀏覽器)輸入地址或者點擊一個鏈接就可以記錄訪問地址。 問題是我只想記錄訪問的地址,而不是該頁面請求的其他資源(廣告,iframe,Google統計等)。有沒有一種方法可以通過查看HTTP或TCP頭來完成此操作?或者任何其他方法。防火牆/訪問網站記錄器
謝謝。
我有一個防火牆實現,我想記錄所有訪問的網站上的機器。所以當用戶在瀏覽器(任何瀏覽器)輸入地址或者點擊一個鏈接就可以記錄訪問地址。 問題是我只想記錄訪問的地址,而不是該頁面請求的其他資源(廣告,iframe,Google統計等)。有沒有一種方法可以通過查看HTTP或TCP頭來完成此操作?或者任何其他方法。防火牆/訪問網站記錄器
謝謝。
一種可能的方法是使用「透明代理」:讓防火牆自動將所有出站HTTP連接傳輸到代理。您可以在代理日誌中找到所需的信息。
我找到的一種簡單方法是使用Microsoft®ActiveAccessibility®並從瀏覽器的地址欄讀取URL。但這在其他方面很棘手:您必須考慮到多種瀏覽器UI佈局(至少是最流行的)以及同一瀏覽器版本之間的差異。某些瀏覽器或瀏覽器版本對MSAA的支持有限,並且不公開所有控件(例如Opera 10.50-10.51,但它在10.52中已修復)。
你能解釋你是如何實現防火牆的?不是代碼,但基本思想 – 2009-10-21 08:19:38
它是一個數據包內容過濾應用程序,攔截MSTCP發送和接收的數據包,檢查數據包是否是HTTP數據包,讀取數據包中包含的數據並查看HTTP標頭(在GET和HOST頭)記錄請求的地址。這樣它就可以通過它的URL阻止一個HTTP地址,而不僅僅通過IP。 問題是我想創建一個訪問過的網站歷史記錄,但只記錄實際訪問過的地址,並丟棄瀏覽器爲該特定地址請求的其他資源。 – 2009-10-21 08:56:23