CN102346781A - 网页访问控制方法和装置 - Google Patents
网页访问控制方法和装置 Download PDFInfo
- Publication number
- CN102346781A CN102346781A CN2011103171376A CN201110317137A CN102346781A CN 102346781 A CN102346781 A CN 102346781A CN 2011103171376 A CN2011103171376 A CN 2011103171376A CN 201110317137 A CN201110317137 A CN 201110317137A CN 102346781 A CN102346781 A CN 102346781A
- Authority
- CN
- China
- Prior art keywords
- browser
- web page
- page address
- plug
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网页访问控制方法和装置,方法包括:在浏览器启动时,初始化所述浏览器预先嵌入的浏览器嵌入插件;通过所述浏览器打开预先获取的网页地址集中的首个待测的网页地址;在确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载时、或者在强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载时,通过所述浏览器嵌入插件,向所述浏览器的接口函数中写入所述网页地址集中的下一个待测网页地址,用以控制所述浏览器打开与写入的网页地址对应的网页;重复执行本步骤,直至控制所述浏览器打开所述网页地址集中各待测网页地址对应的网页。本发明提高了控制浏览器访问待测网页的效率。
Description
技术领域
本发明涉及互联网安全技术,尤其涉及一种网页访问控制方法和装置。
背景技术
随着网络技术的不断进步,互联网已成为人们日常生活的重要组成部分,但是针对互联网用户的病毒传播和入侵现象越来越多,严重影响了人们的日常生活。
网站安全检测是保障用户正常使用互联网的重要技术手段之一。在进行网站安全检测过程中,有时需要控制浏览器访问待测网页,如需控制浏览器逐一打开待检测的各网页,以全面检查这些网页是否感染病毒或是否被植入木马。现有技术通常采用命令行的方式控制浏览器访问指定网页,例如可在以下命令行中直接调用IE浏览器,以打开网页www.test.cn:
“C:\program files\Internet explorer>iexplore www.test.cn”。
采用上述命令行打开网页之后,如果需要打开另一网页,需要更改上述命令行中网页地址的参数,并重新执行参数修改后的上述命令行。
发明人在实践现有技术的过程中发现,采用命令行控制浏览器访问网页的现有技术,在需要打开多个网页时,需要反复开启和关闭IE浏览器,如果需要打开的网页数量较多,则在开启和关闭IE浏览器上会浪费大量时间,效率较低。
发明内容
本发明提供一种网页访问控制方法和装置,用以提高控制浏览器访问待测网页的效率。
本发明提供一种网页访问控制方法,包括:
在浏览器启动时,初始化所述浏览器预先嵌入的浏览器嵌入插件;
通过所述浏览器打开预先获取的网页地址集中的首个待测的网页地址;
在确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载时、或者在强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载时,通过所述浏览器嵌入插件,向所述浏览器的接口函数中写入所述网页地址集中的下一个待测网页地址,用以控制所述浏览器打开与写入的网页地址对应的网页;重复执行本步骤,直至控制所述浏览器打开所述网页地址集中各待测网页地址对应的网页。
本发明还提供了一种网页访问控制装置,包括:
初始化处理模块,用于在浏览器启动时,初始化所述浏览器预先嵌入的浏览器嵌入插件;
第一控制模块,用于通过所述浏览器打开预先获取的网页地址集中的首个待测的网页地址;
第二控制模块,用于在确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载时、或者在强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载时,通过所述浏览器嵌入插件,向所述浏览器的接口函数中写入所述网页地址集中的下一个待测网页地址,用以触发所述第一控制模块控制所述浏览器打开与写入的网页地址对应的网页;重复运行本模块,直至控制所述浏览器打开所述网页地址集中各待测网页地址对应的网页。
本发明提供的网页访问控制方法和装置,将浏览器嵌入插件嵌入到浏览器内部,浏览器嵌入插件可从底层直接控制浏览器需要访问的网页地址,不需要反复打开和关闭浏览器,并且由于嵌入浏览器的浏览器嵌入插件占用的内存小,运行速度较快,因此明显节省了浏览器访问待测网页地址对应网页所需的时间,提高了控制浏览器访问待测网页的效率,进而有利于提高待测网页的检测效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的网页访问控制方法的流程图;
图2为本发明实施例二提供的BHO插件获取IE浏览器行为的方法示意图;
图3为图2中BHO插件的内容示意图;
图4为图2中IE浏览器嵌入BHO插件的示意图;
图5为本发明实施例三提供的通过在IE浏览器中嵌入BHO插件进行网页访问控制的方法流程图;
图6为图5中网页元素的加载示例;
图7为图5中句柄比较示例;
图8为本发明实施例四提供的网页访问控制装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明以下实施例的序号仅仅为了描述,不代表实施例的优劣。
图1为本发明实施例一提供的网页访问控制方法的流程图。如图1所示的方法包括:
步骤11:在浏览器启动时,初始化所述浏览器预先嵌入的浏览器嵌入插件。
浏览器启动时会检查该浏览器注册表中是否包括浏览器嵌入插件,并在浏览器注册表中包括浏览器嵌入插件时,浏览器会自动启动该浏览器嵌入插件,浏览器插件启动后进行初始化。
步骤12:通过所述浏览器打开预先获取的网页地址集中的首个待测的网页地址。
网页地址集包括了待测的各网页地址。如果实际需要对某一网站进行全面安全检测,本步骤中的网页地址集可包括但不限于:某一网站下各网页地址以及每个网页包括的链接地址等。
在浏览器初始化完成之后,通过浏览器打开网页地址集中的任一待测的网页地址的方法不受限制,例如:可向浏览器的地址栏中直接输入该待测网页地址,或者,可采用命令行的方式控制浏览器打开该待测网页地址,或者,可通过浏览器嵌入插件在该浏览器对外开放的接口函数中写入该待测网页地址;等等。其中,可根据预设策略确定网页地址集中的哪个待测的网页地址作为第一个被浏览器打开的网页地址。
步骤13:在确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载时、或者在强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载时,通过所述浏览器嵌入插件,向所述浏览器的接口函数中写入所述网页地址集中的下一个待测网页地址,用以控制所述浏览器打开与写入的网页地址对应的网页;重复执行本步骤,直至控制所述浏览器打开所述网页地址集中各待测网页地址对应的网页。
浏览器打开某一网页地址对应的网页之后,会加载该网页的网页内容。如果浏览器完成该网页所有网页内容的加载,则表示浏览器正常结束该网页的网页内容的加载;如果某些网页内容复杂或存在错误,则浏览器可能耗费较长时间也不能完全加载该网页内容,则可强制结束浏览器对该网页剩余内容的记载。浏览器正常结束或被强制结束当前网页内容的加载时,可通过浏览器嵌入插件将网页地址集中的下一个待测网页地址写入该浏览器对外开放的接口函数,以控制浏览器打开与写入的网页地址对应的网页。采用上述方法,即可通过浏览器嵌入插件按顺序逐一将网页地址集中的待测网页地址写入浏览器,并控制浏览器按顺序逐一打开相应网页。
本实施例可将浏览器嵌入插件嵌入到浏览器内部,浏览器嵌入插件可从底层直接控制浏览器需要访问的网页地址,不需要反复打开和关闭浏览器,并且由于嵌入浏览器的浏览器嵌入插件占用的内存小,运行速度较快,因此明显节省了浏览器访问待测网页地址对应网页所需的时间,提高了控制浏览器访问待测网页的效率,进而有利于提高待测网页的检测效率。
发明人在实践现有技术的过程中发现,不同网页的内容复杂性不同,浏览器打开较为复杂的网页所需的时间较长,如果用户只能主观判断该网页的内容是否完全加载完毕,就可能导致部分网页已经完全加载完成但用户仍在等待,增加了检测网页所需的耗时;或者,可能导致部分网页没有加载完全而被用户关闭,进而影响了该网页内容的全面检测。
上述技术方案中,可在所述浏览器嵌入插件初始化过程中,向所述浏览器中注册浏览器嵌入插件的回调函数指针。为了有效判断网页内容是否加载完毕,可选的,上述确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载,可包括:通过所述浏览器调用与所述回调函数指针指向的回调函数、并将所述第一操作事件包括的用于标识当前打开的网页地址的第一句柄,写入所述回调函数的相应参数;在所述浏览器每次触发与浏览器完成任一网页元素加载相关的第二操作事件时,通过所述浏览器调用与所述回调函数指针指向的回调函数、并将所述第一操作事件包括的用于标识相应网页元素加载完毕的第二句柄,写入所述回调函数的相应参数;通过所述浏览器插件解析所述回调函数以获取当前记录的所述第二句柄与所述第一句柄,且在当前获取的所述第二句柄与所述第一句柄相同时,确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载。采用该方法,浏览器嵌入插件就可自动判断浏览器是否完成当前网页内容的加载,有利于待测网页内容的全面检测;此外在浏览器完成当前网页内容的加载时,本发明还可及时控制浏览器打开下一待测网页地址对应的网页,从而可节省大量时间,进一步提高了控制浏览器访问待测网页的效率。
为了减少不必要等待时间,在上述技术方案的基础上,本发明提供了加载超时控制机制,例如:在所述浏览器打开任一网页地址对应的网页时,启动定时器;如果在所述定时器定时时长内确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载,则取消所述定时器。该情形下,所述强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载,可具体包括:如果所述定时器超时,则通过所述浏览器嵌入插件,强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载。
由于引入了加载超时控制机制,对于网页内容复杂或网页错误等原因导致浏览器长时间不能完成相应网页内容的加载时,可取消剩余网页内容部分的加载,并控制浏览器打开下一待测网页地址对应的网页,从而避免了用户不必要的等待,整体上节省浏览器打开网页地址集中各待测网页地址对应网页所需的时间,提高了控制浏览器访问待测网页的效率,进而有利于提高待测网页的检测效率。
图2为本发明实施例二提供的BHO插件获取IE浏览器行为的方法示意图。本实施例是以IE为浏览器,以浏览器辅助对象(Browser HelperObject)插件为浏览器嵌入插件为例,详细说明本发明的技术方案。
BHO是微软推出的作为浏览器对第三方程序员开放交互接口的业界标准,通过简单的代码就可以进入浏览器领域的“交互接口”(INTERACTIVED Interface)。通过这个接口,程序员可以编写代码获取浏览器的行为,比如“后退”、“前进”、“当前页面”等,利用BHO的交互特性,程序员还可以用代码控制浏览器行为,比如修改替换浏览器工具栏,添加自己的程序按钮等。BHO的目的是为了更好的帮助程序员打造个性化浏览器,以及为程序提供更简洁的交互功能,现在很多IE个性化工具就是利用BHO的来实现。
本实施例将BHO插件嵌入到IE浏览器内部,BHO插件能够监控IE浏览器的行为,当IE触发预先设置的操作事件时,BHO可捕获IE所触发的操作事件并获取与IE浏览器具体行为相关的信息。具体的如图2所示,本实施例BHO获取IE浏览器行为的方法包括:
步骤21:创建BHO插件,并将创建好的BHO插件嵌入到IE浏览器中。
图3为图2中BHO插件的内容示意图。如图3所示,BHO插件包括:BHO初始化函数、BHO回调函数和BHO写入注册表。其中,初始化函数用于在被嵌入的IE浏览器启动时自动启动BHO插件并进行初始化处理;BHO回调函数用于控制IE浏览器在触发预设的操作事件时作出预设响应;BHO写入注册表包括了帮助BHO控制IE浏览器所需的数据文件。
图4为图2中IE浏览器嵌入BHO插件的示意图。可将创建的BHO插件添加到IE浏览器的注册表中,如将BHO插件添加到IE浏览器的如下位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects。
步骤22:IE浏览器启动。
步骤23:IE浏览器启动过程中发现IE浏览器注册表中包括BHO插件,执行步骤24。
步骤24:IE浏览器调用BHO插件的初始化函数,对BHO插件进行初始化处理。
在BHO插件的初始化过程中,IE浏览器通过调用BHO插件的初始化函数,注册BHO插件回调函数的函数指针。这样,当IE浏览器在运行过程中触发与函数指针对应的操作事件时会调用相应回调函数,将IE浏览器当前触发的操作事件包括的参数,写入当前调用回调函数的相应参数中。BHO插件由此可获知IE浏览器当前触发的操作事件是什么,并且BHO插件还可以获取IE浏览器当前触发的操作事件中包括的参数。
步骤25:IE浏览器根据外部指令执行具体操作,如访问某个网页等。
步骤26:当IE浏览器触发预设的操作事件时,IE浏览器调用BHO回调函数。
步骤27:BHO插件根据被调用的BHO回调函数捕获IE浏览器触发的操作事件,并根据BHO回调函数的设置执行相应操作。
步骤28:BHO回调函数执行完毕,返回步骤25,BHO插件继续监控IE浏览器的行为。本实施例可将BHO插件嵌入到IE浏览器内部,BHO插件可从底层直接控制IE浏览器需要访问的网页地址,不需要反复打开和关闭IE浏览器,并且由于BHO插件占用的内存小,运行速度较快,因此明显节省了浏览器访问待测网页地址对应网页所需的时间,提高了控制浏览器访问待测网页的效率。
图5为本发明实施例三提供的通过在IE浏览器中嵌入BHO插件进行网页访问控制的方法流程图。如图5所示的方法包括:
步骤51:IE浏览器打开网页地址集中的某一网页地址对应的网页;并行执行步骤52和53。
步骤52:BHO插件启动定时器;执行步骤58。
步骤53:IE浏览器触发DISPID_NAVIGATECOMPLETE2事件,调用BHO插件的回调函数,并将该事件包括的与IE当前打开的网页地址对应的第一句柄,写入回调函数的相应参数。
本实施例中,假设第一操作事件为DISPID_NAVIGATECOMPLETE2事件,该事件是IE浏览器如IE6、IE7、IE8和IE9中与即将加载网页相关的标准操作事件。当IE浏览器每次打开任一网页时,会触发DISPID_NAVIGATECOMPLETE2事件,该事件表示IE浏览器即将加载当前打开该网页的网页内容,该事件包括有操作系统如WINDOWS操作系统分配的用于标识当前网页地址的第一句柄。
步骤54:IE浏览器加载当前网页地址对应的网页内容。
IE浏览器是以网页元素为单元加载网页内容的,网页元素的加载示例如图6所示。例如:网页元素也称为页面元素,可为网页中使用到的一切用于组织结构和表达内容的对象,其中,网页元素可包括组织结构中的:表格(布局),层,导航条,链接等等;网页元素还可包括表达内容的:文字,图像,flash等等。每项网页元素的具体内容,根据不同浏览器的设置有所不同。
步骤55:在IE浏览器每完成一项网页元素的加载时,触发DISPID_DOCUMENTCOMPLETE事件,调用BHO插件的回调函数,并将该事件包括的用于标识相应网页元素加载完毕的第二句柄,写入回调函数的相应参数。
本实施例中,假设第二操作事件为DISPID_DOCUMENTCOMPLETE事件,该事件是IE浏览器如IE6、IE7、IE8和IE9中完成任一网页元素加载相关的标准操作事件。
如图6所示,网页元素之间存在嵌套关系。IE浏览器每次完成一项网页元素的加载,都会触发DISPID_NAVIGATECOMPLETE2事件,该事件表示IE浏览器完成某一网页元素加载,该事件包括有操作系统如WINDOWS操作系统分配的用于标识相应网页元素加载完毕的第二句柄。
步骤56:BHO插件对回调函数进行解析,获取回调函数相应参数记录的第一句柄和第二句柄;将当前获取的第二句柄与第一句柄进行比较,如果二者一致,BHO插件确定IE浏览器完成关于当前打开的网页地址对应的网页内容的加载,执行步骤57;否则,执行步骤55。
如果IE浏览器完成该网页所有网页元素的加载,其触发的DISPID_NAVIGATECOMPLETE2事件包括的第二句柄,就与DISPID_NAVIGATECOMPLETE2事件包括的第一句柄相同;否则,二者不同。基于此原理,本实施例IE浏览器在触发DISPID_NAVIGATECOMPLETE2事件时,将该事件包括的第二句柄写入其调用的回调函数相应参数;BHO插件在IE浏览器每次执行回调函数的过程中,对回调函数进行解析,得到回调函数当前记录的第一句柄和第二句柄,将首个第二句柄与第一句柄进行比较,根据比较结果确定当前网页的网页内容是否加载完毕,其句柄比较示例如图7所示。
BHO插件可采用但不限于预设变量并对该变量赋值的方式,记录第一句柄和第二句柄。在进行句柄比较时,相当于对该变量的不同参数进行比较。
步骤57:BHO插件取消定时器,并向IE浏览器的接口函数中写入网页地址集中的下一个待测网页地址,用以控制IE浏览器打开与写入的网页地址对应的网页,执行步骤51。
步骤58:在定时器没有取消时,BHO插件以预设时长为间隔,定期将当前时刻与定时器设置的超时时刻进行比较:如果当前时刻与定时器设置的超时时刻相同,BHO插件确定定时器超时,则执行步骤59;否则重复执行本步骤。
步骤59:BHO插件强制结束IE浏览器关于当前打开的网页地址对应的网页内容的加载;执行步骤57。
可选的,BHO插件可通过向IE浏览器发出结束网页内容加载的控制指令的方式,强制结束IE浏览器关于当前打开的网页地址对应的网页内容的加载。
本实施例可将BHO插件嵌入到IE浏览器内部,BHO插件可从底层直接控制IE浏览器需要访问的网页地址,不需要反复打开和关闭IE浏览器,并且由于嵌入IE浏览器的BHO插件占用的内存小,运行速度较快,因此明显节省了IE浏览器访问待测网页地址对应网页所需的时间,提高了控制IE浏览器访问待测网页的效率,进而有利于提高待测网页的检测效率。本实施例还可通过BHO插件对捕获的两类操作事件包括的句柄进行比较,能够有效判断网页内容是否加载完毕,有利于待测网页内容的全面检测;本实施例还引入了超时控制机制来减少用户不必要的等待时间,因此可及时控制IE浏览器打开下一待测网页地址对应的网页,从而可节省大量时间,进一步提高了控制浏览器访问待测网页的效率。
虽然本发明是以IE浏览器和BHO插件为应用实例详细说明本发明的技术方案,但需要说明的是,本发明的技术方案还可应用于其他浏览器及其支持嵌入的浏览器嵌入插件,例如:火狐浏览器及其支持的嵌入插件,“Opera”浏览器及其支持的嵌入插件,“Chrome”浏览器及其支持的嵌入插件,“Safari”浏览器及其支持的嵌入插件等。
图8为本发明实施例四提供的网页访问控制装置的结构示意图。如图8所示的装置包括:初始化处理模块81、第一控制模块82和第二控制模块83。
初始化处理模块81可用于在浏览器启动时,初始化所述浏览器预先嵌入的浏览器嵌入插件。
第一控制模块82可用于通过所述浏览器打开预先获取的网页地址集中的首个待测的网页地址。
第二控制模块83可用于在确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载时、或者在强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载时,通过所述浏览器嵌入插件,向所述浏览器的接口函数中写入所述网页地址集中的下一个待测网页地址,用以触发所述第一控制模块控制所述浏览器打开与写入的网页地址对应的网页;重复运行本模块,直至控制所述浏览器打开所述网页地址集中各待测网页地址对应的网页。
在上述技术方案的基础上,所述初始化处理模块81还可用于在所述浏览器嵌入插件初始化过程中,向所述浏览器中注册浏览器嵌入插件的回调函数指针。可选的,网页访问控制装置还可包括:第一捕获处理模块84、第二捕获处理模块85和加载完成确定模块86。第一捕获处理模块84可用于在所述浏览器触发与浏览器即将加载网页相关的第一操作事件时,通过所述浏览器调用与所述回调函数指针指向的回调函数、并将所述第一操作事件包括的用于标识当前打开的网页地址的第一句柄,写入所述回调函数的相应参数;通过所述浏览器嵌入插件解析所述回调函数以获取所述第一句柄。
第二捕获处理模块85可用于通过所述浏览器调用与所述回调函数指针指向的回调函数、并将所述第一操作事件包括的用于标识相应网页元素加载完毕的第二句柄,写入所述回调函数的相应参数;通过所述浏览器嵌入插件解析所述回调函数以获取所述第二句柄。
加载完成确定模块86可用于在当前获取的所述第二句柄与所述第一句柄相同时,确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载。
可选的,网页访问控制装置还可包括:定时模块87、定时取消模块88和加载取消模块89。
定时模块87可用于在所述浏览器打开任一网页地址对应的网页时,启动定时器。
定时取消模块88可用于如果在所述定时器定时时长内确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载,则取消所述定时器。
加载取消模块89可用于如果所述定时器超时,则通过所述浏览器嵌入插件,强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载。
上述技术方案中,可选的,所述浏览器为IE浏览器,所述浏览器嵌入插件为浏览器辅助对象BHO插件;所述第一操作事件为“DISPID_NAVIGATECOMPLETE2”事件;所述第二操作事件为“DISPID_DOCUMENTCOMPLETE”事件。此外,浏览器及其支持嵌入的浏览器嵌入插件,还可包括但不限于:火狐浏览器及其支持的嵌入插件,“Opera”浏览器及其支持的嵌入插件,“Chrome”浏览器及其支持的嵌入插件,“Safari”浏览器及其支持的嵌入插件等。
本实施例可将浏览器嵌入插件嵌入到浏览器内部,浏览器嵌入插件可从底层直接控制浏览器需要访问的网页地址,不需要反复打开和关闭浏览器,并且由于嵌入浏览器的浏览器嵌入插件占用的内存小,运行速度较快,因此明显节省了浏览器访问待测网页地址对应网页所需的时间,提高了控制浏览器访问待测网页的效率,进而有利于提高待测网页的检测效率。本实施例还可通过浏览器嵌入插件对捕获的两类操作事件包括的句柄进行比较,能够有效判断网页内容是否加载完毕,有利于待测网页内容的全面检测;本实施例还引入了超时控制机制来减少用户不必要的等待时间,因此可及时控制浏览器打开下一待测网页地址对应的网页,从而可节省大量时间,进一步提高了控制浏览器访问待测网页的效率。本实施例提供的网页地址的获取装置的运行机理,可参见上文图1-图7对应实施例的记载,在此不再赘述。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种网页访问控制方法,其特征在于,包括:
在浏览器启动时,初始化所述浏览器预先嵌入的浏览器嵌入插件;
通过所述浏览器打开预先获取的网页地址集中的首个待测的网页地址;
在确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载时,或者在强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载时,通过所述浏览器嵌入插件,向所述浏览器的接口函数中写入所述网页地址集中的下一个待测网页地址,用以控制所述浏览器打开与写入的网页地址对应的网页;重复执行本步骤,直至控制所述浏览器打开所述网页地址集中各待测网页地址对应的网页。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:在所述浏览器嵌入插件初始化过程中,向所述浏览器中注册浏览器嵌入插件的回调函数指针;
确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载,包括:
在所述浏览器触发与浏览器即将加载网页相关的第一操作事件时,通过所述浏览器调用与所述回调函数指针指向的回调函数、并将所述第一操作事件包括的用于标识当前打开的网页地址的第一句柄,写入所述回调函数的相应参数;
在所述浏览器每次触发与浏览器完成任一网页元素加载相关的第二操作事件时,通过所述浏览器调用与所述回调函数指针指向的回调函数、并将所述第一操作事件包括的用于标识相应网页元素加载完毕的第二句柄,写入所述回调函数的相应参数;
通过所述浏览器插件解析所述回调函数以获取当前记录的所述第二句柄,且在当前获取的所述第二句柄与所述第一句柄相同时,确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载。
3.根据权利要求1或2所述的方法,其特征在于,
所述方法还包括:在所述浏览器打开任一网页地址对应的网页时,启动定时器;如果在所述定时器定时时长内确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载,则取消所述定时器;
所述强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载,包括:如果所述定时器超时,则通过所述浏览器嵌入插件,强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载。
4.根据权利要求1所述的方法,其特征在于,所述浏览器为IE浏览器,所述浏览器嵌入插件为浏览器辅助对象插件。
5.根据权利要求4所述的方法,其特征在于,所述第一操作事件为“DISPID_NAVIGATECOMPLETE2”事件,所述第二操作事件为“DISPID_DOCUMENTCOMPLETE”事件。
6.一种网页访问控制装置,其特征在于,包括:
初始化处理模块,用于在浏览器启动时,初始化所述浏览器预先嵌入的浏览器嵌入插件;
第一控制模块,用于通过所述浏览器打开预先获取的网页地址集中的首个待测的网页地址;
第二控制模块,用于在确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载时、或者在强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载时,通过所述浏览器嵌入插件,向所述浏览器的接口函数中写入所述网页地址集中的下一个待测网页地址,用以触发所述第一控制模块控制所述浏览器打开与写入的网页地址对应的网页;重复运行本模块,直至控制所述浏览器打开所述网页地址集中各待测网页地址对应的网页。
7.根据权利要求6所述的装置,其特征在于,还包括:第一捕获处理模块、第二捕获处理模块和加载完成确定模块;
所述初始化处理模块,还用于在所述浏览器嵌入插件初始化过程中,向所述浏览器中注册浏览器嵌入插件的回调函数指针;
所述第一捕获处理模块,用于在所述浏览器触发与浏览器即将加载网页相关的第一操作事件时,通过所述浏览器调用与所述回调函数指针指向的回调函数、并将所述第一操作事件包括的用于标识当前打开的网页地址的第一句柄,写入所述回调函数的相应参数;通过所述浏览器嵌入插件解析所述回调函数以获取所述第一句柄;
所述第二捕获处理模块,用于通过所述浏览器调用与所述回调函数指针指向的回调函数、并将所述第一操作事件包括的用于标识相应网页元素加载完毕的第二句柄,写入所述回调函数的相应参数;通过所述浏览器嵌入插件解析所述回调函数以获取所述第二句柄;;
所述加载完成确定模块,用于在当前获取的所述第二句柄与所述第一句柄相同时,确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
定时模块,用于在所述浏览器打开任一网页地址对应的网页时,启动定时器;
定时取消模块,用于如果在所述定时器定时时长内确定所述浏览器完成关于当前打开的网页地址对应的网页内容的加载,则取消所述定时器;
加载取消模块,用于如果所述定时器超时,则通过所述浏览器嵌入插件,强制结束所述浏览器关于当前打开的网页地址对应的网页内容的加载。
9.根据权利要求6所述的装置,其特征在于,所述浏览器为IE浏览器,所述浏览器嵌入插件为浏览器辅助对象插件。
10.根据权利要求9所述的装置,其特征在于,所述第一操作事件为“DISPID_NAVIGATECOMPLETE2”事件,所述第二操作事件为“DISPID_DOCUMENTCOMPLETE”事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110317137.6A CN102346781B (zh) | 2011-10-18 | 2011-10-18 | 网页访问控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110317137.6A CN102346781B (zh) | 2011-10-18 | 2011-10-18 | 网页访问控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102346781A true CN102346781A (zh) | 2012-02-08 |
CN102346781B CN102346781B (zh) | 2016-04-20 |
Family
ID=45545458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110317137.6A Active CN102346781B (zh) | 2011-10-18 | 2011-10-18 | 网页访问控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102346781B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559029A (zh) * | 2013-10-24 | 2014-02-05 | 北京奇虎科技有限公司 | 云盘文件状态显示方法及装置 |
CN104035863A (zh) * | 2013-03-08 | 2014-09-10 | 腾讯科技(深圳)有限公司 | 一种浏览器测试方法及装置 |
CN104123210A (zh) * | 2013-04-26 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 测试浏览器性能的方法、设备和系统 |
CN104182331A (zh) * | 2013-05-20 | 2014-12-03 | 腾讯科技(深圳)有限公司 | 浏览器性能测试方法、系统及终端 |
CN104331462A (zh) * | 2014-10-31 | 2015-02-04 | 北京奇虎科技有限公司 | 加载网站信息的方法和浏览器客户端 |
CN104731598A (zh) * | 2012-05-07 | 2015-06-24 | 北京奇虎科技有限公司 | 一种基于Webkit内核提供网页浏览的方法及装置 |
CN105205134A (zh) * | 2015-09-15 | 2015-12-30 | 深信服网络科技(深圳)有限公司 | 识别用户点击访问网站行为的方法及装置 |
CN107682531A (zh) * | 2017-09-07 | 2018-02-09 | 北京京东尚科信息技术有限公司 | 终端控制方法及系统 |
CN109039584A (zh) * | 2018-08-02 | 2018-12-18 | 夸克链科技(深圳)有限公司 | 一种基于网页hash来保证安全的技术 |
CN109033466A (zh) * | 2018-08-31 | 2018-12-18 | 掌阅科技股份有限公司 | 页面分享方法、计算设备及计算机存储介质 |
CN110413501A (zh) * | 2018-04-26 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 浏览器兼容性测试方法、装置、系统及可读存储介质 |
-
2011
- 2011-10-18 CN CN201110317137.6A patent/CN102346781B/zh active Active
Non-Patent Citations (1)
Title |
---|
汤晓乐等: "Dreamweaver中的页面跳转", 《多媒体技术及其应用》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731598A (zh) * | 2012-05-07 | 2015-06-24 | 北京奇虎科技有限公司 | 一种基于Webkit内核提供网页浏览的方法及装置 |
CN104731598B (zh) * | 2012-05-07 | 2018-05-04 | 北京奇虎科技有限公司 | 一种基于Webkit内核提供网页浏览的方法及装置 |
CN104035863A (zh) * | 2013-03-08 | 2014-09-10 | 腾讯科技(深圳)有限公司 | 一种浏览器测试方法及装置 |
CN104035863B (zh) * | 2013-03-08 | 2018-01-09 | 腾讯科技(深圳)有限公司 | 一种浏览器测试方法及装置 |
CN104123210A (zh) * | 2013-04-26 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 测试浏览器性能的方法、设备和系统 |
CN104182331A (zh) * | 2013-05-20 | 2014-12-03 | 腾讯科技(深圳)有限公司 | 浏览器性能测试方法、系统及终端 |
CN104182331B (zh) * | 2013-05-20 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 浏览器性能测试方法、系统及终端 |
CN103559029A (zh) * | 2013-10-24 | 2014-02-05 | 北京奇虎科技有限公司 | 云盘文件状态显示方法及装置 |
CN104331462A (zh) * | 2014-10-31 | 2015-02-04 | 北京奇虎科技有限公司 | 加载网站信息的方法和浏览器客户端 |
CN105205134B (zh) * | 2015-09-15 | 2019-04-05 | 深信服网络科技(深圳)有限公司 | 识别用户点击访问网站行为的方法及装置 |
CN105205134A (zh) * | 2015-09-15 | 2015-12-30 | 深信服网络科技(深圳)有限公司 | 识别用户点击访问网站行为的方法及装置 |
CN107682531A (zh) * | 2017-09-07 | 2018-02-09 | 北京京东尚科信息技术有限公司 | 终端控制方法及系统 |
CN110413501A (zh) * | 2018-04-26 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 浏览器兼容性测试方法、装置、系统及可读存储介质 |
CN110413501B (zh) * | 2018-04-26 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 浏览器兼容性测试方法、装置、系统及可读存储介质 |
CN109039584A (zh) * | 2018-08-02 | 2018-12-18 | 夸克链科技(深圳)有限公司 | 一种基于网页hash来保证安全的技术 |
CN109033466A (zh) * | 2018-08-31 | 2018-12-18 | 掌阅科技股份有限公司 | 页面分享方法、计算设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102346781B (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102346781A (zh) | 网页访问控制方法和装置 | |
CN102375951B (zh) | 网页安全检测方法和系统 | |
CN104793946B (zh) | 基于云计算平台的应用部署方法和系统 | |
Bruns et al. | Web application tests with selenium | |
CN109669873B (zh) | 用户界面自动测试方法及装置、电子设备及存储介质 | |
CN102346780B (zh) | 网页地址的获取方法和获取装置 | |
CN103309800B (zh) | 一种网页自动化测试方法和系统 | |
CN109634588A (zh) | 一种兼容多浏览器的Office文档在线编辑方法和系统 | |
US20160217058A1 (en) | Legacy system | |
CN102422299A (zh) | 信息设备、程序、防止执行不正当程序代码的方法、及计算机能够读取的记录介质 | |
WO2018188380A1 (zh) | 一种添加控件标识的方法和装置 | |
CN107506178B (zh) | 一种页面跳转管理方法和装置 | |
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
CN105893127A (zh) | 一种启动应用程序的方法和终端设备 | |
CN105138337B (zh) | 一种插件适配方法及插件适配装置 | |
CN111752841A (zh) | 单测模拟方法、装置、设备与计算机可读存储介质 | |
CN111913742B (zh) | 一种程序处理方法及相关设备 | |
CN106598797B (zh) | 一种多路径io的故障注入方法、系统及故障管理系统 | |
Gogna | Study of browser based automated test tools WATIR and Selenium | |
CN111026947B (zh) | 一种爬虫方法以及基于浏览器的嵌入式爬虫实现方法 | |
CN107864073B (zh) | 一种swift报文批量发送方法和装置 | |
Puttonen et al. | An application of BPEL for service orchestration in an industrial environment | |
CN113051088B (zh) | 程序加载方法、装置、设备及计算机可读介质 | |
CN105243134A (zh) | 一种处理被劫持浏览器的方法及设备 | |
CN104965742B (zh) | 一种处理前端任务的自动化脚本及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |