随着网络的发展和普及
对网络的监控日益成为网络安全的必然要求
也是管理和维护网络的一个有效手段
当前已经有多种应用比较广泛的网络监控和过滤程序
如美萍网管
we
blocker等
它们都可以实现基于网络URL和IP地址的监控和过滤功能
本文将对如何开发一个嵌入到IE浏览器中的监控程序进行介绍该程序可以根据网络URL和IP地址进行监控和过滤并且记录系统日志从而使你对IE(当然是使用它的用户)的所有操作一览无余相信通过阅读本文会加深你对网络监控程序的理解以及提高你的COM编程能力和数据库编程能力
本文在Delphi 开发环境下实现数据库使用桌面数据库Access
基础知识
COM编程
COM(Component Object Model组建对象模型)是微软公司(Microsoft Company)提出的二进制通信规范用于软件组件之间的跨越多个进程机器硬件和操作系统的互操作它是一项通过接口(Interface)透明的传递封装数据的技术并且独立于语言和操作平台一个COM对象是实现一个或者若干个接口的对象即COM对象借助接口输出它所提供的服务
IE浏览器的体系结构
IE浏览器的体系结构如图所示其中MSHTML是位于SHDOCVW和HTML页面之间的COM对象SHDOCVW对象用于处理页面的显示而MSHTML用于处理页面的语法分析并且将页面中的标记转换为元素MSHTML是一个COM服务器允许COM客户端程序访问它对外提供的服务
实现IE浏览器嵌入式编程的基本方法是建立COM对象从而以COM客户端程序的形式和MSHTML COM服务器建立连接然后通过接口回调实现需要的控制功能也即首先建立COM对象实现系统规定的若干接口然后注册COM对象并且将COM对象的有关信息写入到IE浏览器扩展功能指定的注册表位置
嵌入式IE浏览器监控程序的实现
嵌入式IE浏览器监控程序的实现主要包括监控程序的实现和维护程序的实现两部分根据程序开发过程可以将其分为四个步骤下面分别对各个实现步骤进行详细介绍
实现COM对象
开发COM对象的任务就是建立一个能够与IE浏览器的MSHTML COM服务器建立连接并且通过接口回调实现控制功能的COM对象具体实现过程如下:
()运行Delphi依次点击File|New|Other切换到ActiveX页面选择ActiveX Library点击OK按钮即建立一个新的工程
() 再次点击File|New|Other切换到ActiveX页面选择COM Object点击OK按钮即出现如图所示的COM Object Wizard界面去掉Included Type Library复选框在Class Name中输入COM对象的名称IEMonitor然后点击OK按钮即新建了一个名称为TIEMonitor的COM对象(该COM对象的CLSID由系统自动生成)(见图)
[] [] []