開發(fā)嵌入式IE瀏覽器監(jiān)控程序

字號:

隨著網(wǎng)絡的發(fā)展和普及,對網(wǎng)絡的監(jiān)控日益成為網(wǎng)絡安全的必然要求,也是管理和維護網(wǎng)絡的一個有效手段。當前已經(jīng)有多種應用比較廣泛的網(wǎng)絡監(jiān)控和過濾程序,如美萍網(wǎng)管、we-blocker等,它們都可以實現(xiàn)基于網(wǎng)絡URL和IP地址的監(jiān)控和過濾功能。
    本文將對如何開發(fā)一個嵌入到IE瀏覽器中的監(jiān)控程序進行介紹,該程序可以根據(jù)網(wǎng)絡URL和IP地址進行監(jiān)控和過濾,并且記錄系統(tǒng)日志,從而使你對IE(當然是使用它的用戶)的所有操作一覽無余。相信通過閱讀本文,會加深你對網(wǎng)絡監(jiān)控程序的理解,以及提高你的COM編程能力和數(shù)據(jù)庫編程能力。
    本文在Delphi 6開發(fā)環(huán)境下實現(xiàn),數(shù)據(jù)庫使用桌面數(shù)據(jù)庫Access 2000。
    基礎知識
    1.COM編程
    COM(Component Object Model,組建對象模型)是微軟公司(Microsoft Company)提出的二進制通信規(guī)范,用于軟件組件之間的跨越多個進程、機器、硬件和操作系統(tǒng)的互操作,它是一項通過接口(Interface)透明的傳遞封裝數(shù)據(jù)的技術,并且獨立于語言和操作平臺。一個COM對象是實現(xiàn)一個或者若干個接口的對象,即COM對象借助接口輸出它所提供的服務。
    2.IE瀏覽器的體系結構
    IE瀏覽器的體系結構如圖1所示。其中MSHTML是位于SHDOCVW和HTML頁面之間的COM對象,SHDOCVW對象用于處理頁面的顯示,而MSHTML用于處理頁面的語法分析,并且將頁面中的標記轉換為元素。MSHTML是一個COM服務器,允許COM客戶端程序訪問它對外提供的服務。
    實現(xiàn)IE瀏覽器嵌入式編程的基本方法是建立COM對象,從而以COM客戶端程序的形式和MSHTML COM服務器建立連接,然后通過接口回調(diào)實現(xiàn)需要的控制功能。也即首先建立COM對象,實現(xiàn)系統(tǒng)規(guī)定的若干接口,然后注冊COM對象,并且將COM對象的有關信息寫入到IE瀏覽器擴展功能指定的注冊表位置。