网络页面更改监测方法、装置、设备以及介质与流程

文档序号:16898116发布日期:2019-02-19 17:40阅读:158来源:国知局
网络页面更改监测方法、装置、设备以及介质与流程

本公开涉及网络页面更改监测,更具体地涉及一种网络页面更改监测的方法、装置、设备以及介质。



背景技术:

网络页面是构成网站的基本元素,是承载各种网站应用的平台,是一个包含html标签的文件。网络页面中包含的dom(documentobjectmodel)是以层次结构组织的节点或信息片段的集合,这种层次结构允许人们在由节点构成的节点树中导航寻找特定信息。

随着互联网和移动终端的发展,在用户使用计算机或移动终端浏览网络页面时,可能会根据自身的目的或需要对网络页面进行修改,例如,用户可能对网页上的某一个或几个节点进行篡改,以伪造网络页面内容、窃取网络页面信息等。

因此,为了防止网站上的网络页面被恶意篡改,需要一种能够有效监控网络页面的网络页面更改监测方法。



技术实现要素:

针对以上问题,本公开提供了一种网络页面更改监测方法,包括:在网络页面中,获取待挂载的至少一个目标节点;针对每个目标节点,生成要挂载到该目标节点的挂载对象,并将该挂载对象挂载到该目标节点上作为该目标节点的子节点;以及监测对所述至少一个目标节点的所述子节点的更改。

在一个实施例中,监测对所述至少一个目标节点的子节点的更改包括:针对每个目标节点的子节点,在所述子节点上添加至少一个监测器;以及利用所述至少一个监测器监测对所述目标节点的子节点的更改。

在一个实施例中,对子节点的更改包括以下至少一项:对所述子节点的节点属性值的更改、对所述子节点增加新节点属性、删除所述子节点的节点属性、对所述子节点的删除、在所述子节点上挂载另一子节点。

在一个实施例中,监测对所述至少一个目标节点的更改。

在一个实施例中,监测对所述目标节点的更改包括:针对每个目标节点,在该目标节点上添加至少一个监测器;以及利用所述至少一个监测器监测对所述目标节点的更改。

在一个实施例中,对所述目标节点的更改包括以下至少一项:对所述目标节点的节点属性值的更改、对所述目标节点增加新节点属性、删除所述目标节点的节点属性、对所述目标节点的删除、以及对所述目标节点添加新的子节点。

在一个实施例中,在监测到所述更改的情况下,放弃所述更改。

在一个实施例中,在监测到所述更改的情况下,将所监测到的更改上报。

在一个实施例中,获取待挂载的至少一个目标节点包括:根据节点标识和节点类中的至少一项获取待挂载的至少一个目标节点。

在一个实施例中,所述至少一个目标节点为根据节点类获取的多个目标节点,针对每个目标节点,生成要挂载到该目标节点的挂载对象,并将该挂载对象挂载到该目标节点上包括:针对所述节点类,生成用于该节点类的挂载对象;以及将用于该节点类的挂载对象,批量地挂载到所述多个目标节点上。

在一个实施例中,所述挂载对象为水印。

根据本公开的另一方面,提供了一种网络页面更改监测装置,包括:获取单元,配置为在网络页面中,获取待挂载的至少一个目标节点;挂载单元,配置为针对每个目标节点,生成要挂载到该目标节点的挂载对象,并将该挂载对象挂载到该目标节点上作为该目标节点的子节点;以及子节点监测单元,配置为监测对所述至少一个目标节点的所述子节点的更改。

在一个实施例中,所述子节点监测单元包括:添加子单元,配置为针对每个目标节点的子节点,在所述子节点上添加至少一个监测器;以及子节点监测子单元,配置为利用所述至少一个监测器监测对所述目标节点的子节点的更改。

在一个实施例中,所监测的对所述子节点的更改包括以下至少一项:对所述子节点的节点属性值的更改、对所述子节点增加新节点属性、删除所述子节点的节点属性、对所述子节点的删除、在所述子节点上挂载另一子节点。

在一个实施例中,还包括:目标节点监测单元,配置为监测对所述至少一个目标节点的更改。

在一个实施例中,所述目标节点监测单元包括:添加子单元,配置为针对每个目标节点,在该目标节点上添加至少一个监测器;以及目标节点监测子单元,配置为利用所述至少一个监测器监测对所述目标节点的更改。

在一个实施例中,所监测的对所述目标节点的更改包括以下至少一项:对所述目标节点的节点属性值的更改、对所述目标节点增加新节点属性、删除所述目标节点的节点属性、对所述目标节点的删除、以及对所述目标节点添加新的子节点。

在一个实施例中,还包括:更改放弃单元,配置为在监测到所述更改的情况下,放弃所述更改。

在一个实施例中,还包括:上报单元,配置为在监测到所述更改的情况下,将所监测到的更改上报。

在一个实施例中,所述获取单元根据节点标识和节点类中的至少一项获取待挂载的至少一个目标节点。

在一个实施例中,所述至少一个目标节点为根据节点类获取的多个目标节点,所述挂载单元包括:生成子单元,配置为针对所述节点类,生成用于该节点类的挂载对象;以及挂载子单元,配置为将用于该节点类的挂载对象,批量地挂载到所述多个目标节点上。

在一个实施例中,所述挂载对象为水印。

根据本公开的再一方面,提供了一种网络页面更改监测设备,包括:处理器,以及存储器,其包含一组处理器可执行指令,所述指令在由所述处理器执行时使所述设备执行以下操作:在网络页面中,获取待挂载的至少一个目标节点;针对每个目标节点,生成要挂载到该目标节点的挂载对象,并将该挂载对象挂载到该目标节点上作为该目标节点的子节点;以及监测对所述至少一个目标节点的所述子节点的更改。

根据本公开的又一方面,提供了一种计算机可读存储介质,其上存储有计算机可读的指令,当利用计算机执行所述指令时执行上述方法。

利用本公开提供的网络页面更改监测方法和装置,能够获取网络页面中的目标节点和要在目标节点上挂载的挂载对象,并通过对作为目标节点的子节点的挂载对象进行监测的方式来进行网络页面监测,有效防止了网络页面被篡改。此外,本公开提供的网络页面更改检测方法和装置能够实现对网络页面更改的及时监控,从而大大提高了窃取网络页面信息的难度,并保证了网络页面的安全性。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员而言,在没有做出创造性劳动的前提下,还可以根据这些附图获得其他的附图。以下附图并未刻意按实际尺寸等比例缩放绘制,重点在于示出本公开的主旨。

图1示出了网络页面上添加水印的示意图;

图2示出图1所示网络页面的源代码示意图;

图3示出了根据本公开实施例的网络页面更改监测方法的示例性流程图;

图4示出了根据本公开实施例生成挂载对象并挂载的示例性实现方式;

图5示出了根据本公开实施例监测所述目标节点的子节点的更改的示例性实现方式;

图6示出了根据本公开实施例监测目标节点的更改的示例性实现方式;

图7示出了根据本公开实施例监测所述目标节点的更改的示例性实现方式;

图8示出了根据本公开实施例的网络页面更改监测方法的示例性实现方式;

图9示出了根据本公开实施例的网络页面更改监测方法的示例性实现方式;

图10示出了根据本公开实施例的网络页面更改监测方法的一个具体示例的示意图;

图11示出了根据本公开实施例的网络页面更改监测装置的示例性框图;

图12示出了根据本公开实施例的网络页面更改监测设备的示例性框图。

具体实施方式

下面将结合附图对本公开实施例中的技术方案进行清楚、完整地描述,显而易见地,所描述的实施例仅仅是本公开的部分实施例,而不是全部的实施例。基于本公开实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,也属于本公开保护的范围。

如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

本申请中使用了流程图用来说明根据本申请的实施例的装置或设备所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

html网络页面是利用html语言编写的文档,是一种半结构化的数据表现方式。其中,html网络页面所包含的节点可以形成节点树的结构,在节点树中,可以根据节点之间的相互关系,产生父节点、子节点、兄弟节点等不同的层级。这里的父节点、子节点、兄弟节点等称谓都是相对某个特定节点而言,而并非一成不变的,随着所述特定节点的改变,各个节点的称谓也可能相应地改变。

当用户进行网络页面浏览时,可能会根据自身的需要对网络页面进行修改。具体地,用户可以通过对网络页面上的某些属性进行修改,来获取其需要的信息,或达到某些特殊的目的。例如,用户可能希望对网络页面中局部的文字或图片进行更改或替换,以拟制和传播虚假消息或发布不实信息。再例如,当网页中的网络页面包含水印时,用户可能希望通过删除或修改水印的方式来获取网络页面所显示的文字、图片或表格并作他用。

图1示出了用户在网站的网络页面显示的图片上添加有水印的示意图。如图1所示,可以利用网络页面的层叠样式表(css)的背景(background)属性添加背景图片,以添加水印。然而,在图1所示的实施场景中,如果用户希望将网络页面上的水印删除,可以很方便地通过修改上述层叠样式表的背景属性来实现其目的。

图2示出图1所示网络页面的源代码示意图,如图2所示,当用户调取此网络页面的源代码之后,可以通过删除图2的方框中所示的源代码的背景(background)行,来进行水印的更改和删除。

因此,需要一种有效的网络页面更改监测方法和装置。

根据本公开实施例,提出了一种网络页面更改监测方法,能够获取网络页面中的目标节点和要在目标节点上挂载的挂载对象,并通过对作为目标节点的子节点的挂载对象进行监测的方式来进行网络页面监测,有效防止了网络页面被篡改。此外,本公开提供的网络页面更改检测方法和装置能够实现对网络页面更改的及时监控,从而大大提高了窃取网络页面信息的难度,并保证了网络页面的安全性。

下面,将参考图3来描述根据本公开实施例的网络页面更改监测方法300。

首先,根据步骤s301,在网络页面中,获取待挂载的至少一个目标节点。

根据本公开实施例,在本步骤中,所获取的待挂载的目标节点可以为一个或多个。在一个示例中,可以利用目标节点的节点标识来寻找所述目标节点。在另一个示例中,当所述目标节点具有不同的节点类时,可以通过获取所述目标节点所属的一个或多个节点类,来批量寻找所述目标节点。例如,可以通过目标节点的类名(classname)进行节点类的选择,从而获取某一类或多个节点类的目标节点。可选地,可以利用目标参数来指示获取目标节点的方式,即所述目标参数可以指示通过节点标识寻找目标节点,或通过节点类名获取目标节点等。上述目标节点的获取方式仅为示例,在实际应用中,可以采用任何目标节点的获取方式,也可以获取任意数量的目标节点,在此均不做限制。

在步骤s302中,针对每个目标节点,生成要挂载到该目标节点的挂载对象,并将该挂载对象挂载到该目标节点上作为该目标节点的子节点。

根据本公开实施例,针对每个所述目标节点生成的挂载对象可以相同或不同。例如,可以针对所获取的所有目标节点分别生成不同的挂载对象;又例如,可以针对所获取的所有目标节点生成相同的挂载对象;再例如,可以针对相同节点类的目标节点生成相同的挂载对象,而针对不同节点类的目标节点生成不同的挂载对象等,在此不做限制。

根据本公开实施例,在生成挂载对象时,还可以确定所述挂载对象的属性及其相应的属性值。所述挂载对象的属性可以用于指示挂载对象的类型,也可以用于指示挂载对象的样式。例如,所述挂载对象的属性所指示的挂载对象的类型可以包括文字、图片、动画等各种表现形式,而挂载对象的样式则可以包括挂载对象的显示参数(如亮度、对比度、透明度等)、倾斜角度、尺寸、每个目标节点上的挂载数量等。当然,上述对挂载对象的生成过程的介绍仅为示例,在实际应用中,还可以根据挂载对象不同的应用场景,来任意选择挂载对象的生成和表现方式,在此不做限制。

在挂载对象生成之后,可以利用所获取的目标节点和生成的挂载对象的对应关系,将挂载对象挂在到相应的目标节点上。当把挂载对象挂载到目标节点上之后,此挂载对象即可成为目标节点的子节点。在一个示例中,在挂载过程中,可以进一步利用指定的挂载参数来确定挂载对象在目标节点的具体挂载位置。例如,可以利用挂载参数指示挂载对象挂载到目标节点的例如左上方、右上方、左下方或右下方。可选地,当挂载参数未指示挂载位置时,可以默认将挂载对象挂载到目标节点的中间。

图4示出了根据本公开实施例生成挂载对象并挂载的示例性实现方式。如图4所示,当所获取的至少一个目标节点为根据节点类获取的多个目标节点时,在步骤s3021中,可以针对所述节点类,生成用于该节点类的目标节点的挂载对象。可选地,本步骤中所生成的针对同一节点类的挂载对象可以相同,当然也可以不同。

在步骤s3022中,可以将用于该节点类的挂载对象,批量地挂载到所述多个目标节点上。可选地,可以将针对同一类的相同的一个挂载对象,同时挂载到同一节点类的目标节点上,从而实现挂载对象在目标节点上的批量挂载,节约了系统资源,提高了挂载效率。

回到图3中的步骤s303,可以监测对所述至少一个目标节点的所述子节点的更改。

图5示出了根据本公开实施例监测所述目标节点的子节点的更改的示例性实现方式。如图5所示,在步骤s3031中,可以在所述目标节点的子节点上添加至少一个监测器。

在步骤s3032中,可以利用所述至少一个监测器监测对所述目标节点的子节点的更改。具体地,所监测的对子节点的更改可以包括以下至少一项:对所述子节点的节点属性值(也即挂载对象属性值)的更改、对所述子节点增加新节点属性、删除所述子节点的节点属性、对所述子节点的删除、在所述子节点上挂载另一子节点等。

在本公开一个实施例中,可以采用h5的网络应用程序编程接口(webapi)中的变动观察器(mutationobserver)监测对子节点的更改。基于变动观察器的监测机制可以用来监测子节点的添加、删除、属性更改、属性增删等各种事件。

在本公开另一个实施例中,还可以通过设置监测器对目标节点的子节点进行轮询的方式进行监测。可选地,可以根据预设时间周期对所述目标节点的子节点进行轮询,从而获知所述子节点的添加/删除状态,和/或其属性的增删、改变等。

根据本公开的实施例,可以设置所述监测器的运行时间。当超出所述监测器的运行时间后,可以注销所述监测器或暂停所述监测器的监测活动,以尽量减少监测器对系统性能的影响。

根据本公开另一个实施例,还可以监测对所述至少一个目标节点的更改。图6示出了根据本公开实施例监测目标节点的更改的示例性实现方式。如图6所示,在步骤s304中,可以监测对所述至少一个目标节点的更改。当然,步骤s304中对目标节点的监测可以与对目标节点的子节点的监测同时进行,也可以在对目标节点的子节点的监测之前或之后进行,在此不做限制。

图7示出了根据本公开实施例监测所述目标节点的更改的示例性实现方式。如图7所示,在步骤s3041中,针对每个目标节点,可以在所述目标节点上添加至少一个监测器。

在步骤s3042中,可以利用所述至少一个监测器监测对所述目标节点的更改。具体地,所监测的对目标节点的更改可以包括以下至少一项:对所述目标节点的节点属性值的更改、对所述目标节点增加新节点属性、删除所述目标节点的节点属性、对所述目标节点的删除、以及对所述目标节点添加新的子节点。

在本公开一个实施例中,可以采用h5的网络应用程序编程接口(webapi)中的变动观察器(mutationobserver)监测对目标节点的更改。基于变动观察器的监测机制可以用来监测目标节点的添加、删除、属性更改、属性增删等各种事件。

在本公开另一个实施例中,还可以通过设置监测器对目标节点进行轮询的方式进行监测。可选地,可以根据预设时间周期对所述目标节点进行轮询,从而获知所述目标节点的添加/删除状态,和/或其属性的增删、改变等。

根据本公开的实施例,可以设置所述监测器的运行时间。当超出所述监测器的运行时间后,可以注销所述监测器或暂停所述监测器的监测活动,以尽量减少监测器对系统性能的影响。

图8示出了根据本公开实施例的网络页面更改监测方法的示例性实现方式。如图8所示,在步骤s305中,在监测到所述更改的情况下,放弃所述更改。在本公开实施例中,所述更改可以为所述目标节点和/或子节点的更改。具体地,可以通过对目标节点和/或子节点的监测器设置回调函数的方式,来放弃之前的更改,使得目标节点和/或子节点的增删、属性的更改/增删等恢复到之前的状态。

根据本公开实施例,可以基于前述变动观察器对目标节点的子节点设置属性监测器和/或删除监测器,其中,所述属性监测器用于监测所述目标节点的子节点的属性方面的更改。可选地,所述属性监测器所用来监测的目标节点的子节点的属性可以为其所有属性,也可以为预设的其中一个或多个属性,在此不做限制。在一个示例中,可以对所述属性监测器设置相应的回调函数,所述回调函数可以用于获取属性变化的具体内容,并进行相应的处理。例如,当所述属性监测器监测到所述目标节点的子节点某个属性被删除时,可以利用回调函数增加先前被删除的属性值;当所述属性监测器监测到所述目标节点的子节点被添加某个新属性时,可以利用回调函数删除这一新属性;当所述属性监测器监测到所述目标节点的子节点某个属性值被更改时,可以利用回调函数恢复被更改项的更改前的属性值。

对所述目标节点的子节点设置的删除监测器可以用于监测对所述目标节点的子节点的删除行为,或者子节点上的节点新增行为。在一个示例中,可以对所述删除监测器设置相应的回调函数,所述回调函数可以用于对被删除/新增的目标节点的子节点及其相关节点进行相应的处理。例如,当所述删除监测器监测到所述目标节点的子节点被删除时,可以复制被删除的目标节点的子节点,并重新赋值其所有的属性,来生成一个新的子节点;当所述删除监测器监测到所述目标节点的子节点被挂载了一个新的子节点时,可以删除所挂载的新的子节点。

根据本公开实施例,还可以基于前述变动观察器对目标节点设置属性监测器和/或删除监测器,其中,所述属性监测器用于监测所述目标节点的属性方面的更改。可选地,所述属性监测器所用来监测的目标节点的属性可以为其所有属性,也可以为预设的其中一个或多个属性,在此不做限制。在一个示例中,可以对所述属性监测器设置相应的回调函数,所述回调函数可以用于获取属性变化的具体内容,并进行相应的处理。例如,当所述属性监测器监测到所述目标节点某个属性被删除时,可以利用回调函数增加先前被删除的属性值;当所述属性监测器监测到所述目标节点被添加某个新属性时,可以利用回调函数删除这一新属性;当所述属性监测器监测到所述目标节点某个属性值被更改时,可以利用回调函数恢复被更改项的更改前的属性值。

对所述目标节点设置的删除监测器可以用于监测对所述目标节点及其相关子节点的删除/新增行为。在一个示例中,可以对所述删除监测器设置相应的回调函数,所述回调函数可以用于对被删除/新增的目标节点及其相关子节点进行相应的处理。例如,当所述删除监测器监测到所述目标节点被删除时,可以复制被删除的目标节点,并重新赋值其所有的属性,来生成一个新的目标节点;当所述删除监测器监测到所述目标节点被挂载了一个新的子节点时,可以删除所挂载的新的子节点。

图9示出了根据本公开实施例的网络页面更改监测方法的示例性实现方式。如图9所示,在步骤s306中,在监测到所述更改的情况下,将所监测到的更改上报。在本公开实施例中,所述更改可以为所述目标节点和/或子节点的更改。可选地,当监测到目标节点和/或子节点的更改行为时,可以根据行为的具体性质和次数决定是否上报服务器,或者是否进行警告。

图10示出根据本公开一个实施例的网络页面更改监测方法的具体示例的示意图。在图10中,所述挂载对象可以为水印。

如图10所示,在步骤s1001中,在所述网络页面中,获取待挂载的目标节点。如前所述,在本实施例中,可以根据目标节点的类名来获取某一特定类的目标节点用以挂载相同的水印。

在步骤s1002中,针对每个所述目标节点,生成要挂载到该节点类目标节点的水印,并将该水印挂载到该目标节点上作为该目标节点的子节点。

在本步骤中,可以针对前述特定节点类的目标节点,生成一个相同的水印图案作为挂载对象进行挂载。具体地,可以利用挂载对象的属性来设置水印的类型和样式。在本实施例中,所述水印可以为透明度50%,倾斜角度45度的图片。

随后,可以将生成的水印挂载到每个具有特定节点类的目标节点上,被挂载的水印作为目标节点的子节点。

在步骤s1003中,对水印设置属性监测器。

本步骤中,利用h5的变动观察器对水印设置属性监测器,用于监测水印的属性变化。当所述属性监测器监测到所述水印某个属性被删除时,可以利用回调函数增加先前被删除的属性值;当所述属性监测器监测到所述水印某个属性被更改时(例如,透明度设置改为100%),可以利用回调函数恢复被更改项的属性值(将所述水印的透明度改回50%)。

在步骤s1004中,对水印所挂载的目标节点设置删除监测器。

本步骤中,可以利用h5的变动观察器对水印所挂载的目标节点设置删除监测器,用于监测水印所在子节点和所挂载的目标节点的删除行为。当所述删除监测器监测到所述水印或其挂载的目标节点被删除时,可以复制被删除的水印或其挂载的目标节点,并重新赋值其所有的属性,来生成一个新的水印或目标节点。

在上述图10所述的步骤s1001-s1004中,以挂载对象为水印为例示例性说明了本公开实施例的网络页面更改监测方法。在实际应用中,可以针对不同的挂载对象采用本公开实施例中的方法进行网络页面监测,在此不做限制。

根据本公开实施例,能够获取网络页面中的目标节点和要在目标节点上挂载的挂载对象,并通过对作为目标节点的子节点的挂载对象进行监测的方式来进行网络页面监测,有效防止了网络页面被篡改。此外,本公开提供的网络页面更改检测方法能够实现对网络页面更改的及时监控,从而大大提高了窃取网络页面信息的难度,并保证了网络页面的安全性。

下面,将参考图11来描述根据本公开实施例的网络页面更改监测装置1100。

如图11所示,根据本公开实施例的网络页面更改监测装置1100包括获取单元1110、挂载单元1120以及子节点监测单元1130。

首先,获取单元1110在网络页面中,获取待挂载的至少一个目标节点。

根据本公开实施例,获取单元1110所获取的待挂载的目标节点可以为一个或多个。在一个示例中,可以利用目标节点的节点标识来寻找所述目标节点。在另一个示例中,当所述目标节点具有不同的节点类时,可以通过获取所述目标节点所属的一个或多个节点类,来批量寻找所述目标节点。例如,可以通过目标节点的类名(classname)进行节点类的选择,从而获取某一类或多个节点类的目标节点。可选地,可以利用目标参数来指示获取目标节点的方式,即所述目标参数可以指示通过节点标识寻找目标节点,或通过节点类名获取目标节点等。上述目标节点的获取方式仅为示例,在实际应用中,可以采用任何目标节点的获取方式,也可以获取任意数量的目标节点,在此均不做限制。

挂载单元1120针对每个目标节点,生成要挂载到该目标节点的挂载对象,并将该挂载对象挂载到该目标节点上作为该目标节点的子节点。

根据本公开实施例,挂载单元1120可以包括:生成子单元1121,用于生成挂载对象。所述生成子单元1121针对每个所述目标节点生成的挂载对象可以相同或不同。例如,可以针对所获取的所有目标节点分别生成不同的挂载对象;又例如,可以针对所获取的所有目标节点生成相同的挂载对象;再例如,可以针对相同节点类的目标节点生成相同的挂载对象,而针对不同节点类的目标节点生成不同的挂载对象等,在此不做限制。

根据本公开实施例,在生成子单元1121生成挂载对象时,还可以确定所述挂载对象的属性及其相应的属性值。所述挂载对象的属性可以用于指示挂载对象的类型,也可以用于指示挂载对象的样式。例如,所述挂载对象的属性所指示的挂载对象的类型可以包括文字、图片、动画等各种表现形式,而挂载对象的样式则可以包括挂载对象的显示参数(如亮度、对比度、透明度等)、倾斜角度、尺寸、每个目标节点上的挂载数量等。当然,上述对挂载对象的生成过程的介绍仅为示例,在实际应用中,还可以根据挂载对象不同的应用场景,来任意选择挂载对象的生成和表现方式,在此不做限制。

在挂载对象生成之后,挂载单元1120中的挂载子单元1122可以利用所获取的目标节点和生成的挂载对象的对应关系,将挂载对象挂在到相应的目标节点上。当把挂载对象挂载到目标节点上之后,此挂载对象即可成为目标节点的子节点。在一个示例中,在挂载过程中,挂载子单元1122可以进一步利用指定的挂载参数来确定挂载对象在目标节点的具体挂载位置。例如,可以利用挂载参数指示挂载对象挂载到目标节点的例如左上方、右上方、左下方或右下方。可选地,当挂载参数未指示挂载位置时,可以默认将挂载对象挂载到目标节点的中间。

在本公开一个实施例中,当所获取的至少一个目标节点为根据节点类获取的多个目标节点时,生成子单元1121可以针对所述节点类,生成用于该节点类的目标节点的挂载对象。可选地,生成子单元1121所生成的针对同一节点类的挂载对象可以相同,当然也可以不同。

随后,挂载子单元1122可以将用于该节点类的挂载对象,批量地挂载到所述多个目标节点上。可选地,可以将针对同一类的相同的一个挂载对象,同时挂载到同一节点类的目标节点上,从而实现挂载对象在目标节点上的批量挂载,节约了系统资源,提高了挂载效率。

网络页面更改监测装置1100中的子节点监测单元1130可以监测对所述至少一个目标节点的所述子节点的更改。

可选地,子节点监测单元1130可以包括添加子单元1131,用于在所述目标节点的子节点上添加至少一个监测器。

子节点监测单元1130还可以包括子节点监测子单元1132,用于利用所述至少一个监测器监测对所述目标节点的子节点的更改。具体地,子节点监测子单元1132所监测的对子节点的更改可以包括以下至少一项:对所述子节点的节点属性值(也即挂载对象属性值)的更改、对所述子节点增加新节点属性、删除所述子节点的节点属性、对所述子节点的删除、在所述子节点上挂载另一子节点等。

在本公开一个实施例中,可以采用h5的网络应用程序编程接口(webapi)中的变动观察器(mutationobserver)监测对子节点的更改。基于变动观察器的监测机制可以用来监测子节点的添加、删除、属性更改、属性增删等各种事件。

在本公开另一个实施例中,还可以通过所设置的监测器对目标节点的子节点进行轮询的方式进行监测。可选地,可以根据预设时间周期对所述目标节点的子节点进行轮询,从而获知所述子节点的添加/删除状态,和/或其属性的增删、改变等。

根据本公开的实施例,可以设置所述监测器的运行时间。当超出所述监测器的运行时间后,可以注销所述监测器或暂停所述监测器的监测活动,以尽量减少监测器对系统性能的影响。

根据本公开另一个实施例,还可以通过所述网络页面更改监测装置1100中的目标节点监测单元1140监测对所述至少一个目标节点的更改。当然,在此对目标节点的监测可以与对目标节点的子节点的监测同时进行,也可以在对目标节点的子节点的监测之前或之后进行,在此不做限制。

其中,目标节点监测单元1140中的添加子单元1141针对每个目标节点,可以在所述目标节点上添加至少一个监测器。

目标节点监测单元1140中的目标节点监测子单元1142可以利用所述至少一个监测器监测对所述目标节点的更改。具体地,目标节点监测子单元1142所监测的对目标节点的更改可以包括以下至少一项:对所述目标节点的节点属性值的更改、对所述目标节点增加新节点属性、删除所述目标节点的节点属性、对所述目标节点的删除、以及对所述目标节点添加新的子节点。

在本公开一个实施例中,可以采用h5的网络应用程序编程接口(webapi)中的变动观察器(mutationobserver)监测对目标节点的更改。基于变动观察器的监测机制可以用来监测目标节点的添加、删除、属性更改、属性增删等各种事件。

在本公开另一个实施例中,还可以通过设置监测器对目标节点进行轮询的方式进行监测。可选地,可以根据预设时间周期对所述目标节点进行轮询,从而获知所述目标节点的添加/删除状态,和/或其属性的增删、改变等。

根据本公开的实施例,可以设置所述监测器的运行时间。当超出所述监测器的运行时间后,可以注销所述监测器或暂停所述监测器的监测活动,以尽量减少监测器对系统性能的影响。

根据本公开实施例,网络页面更改监测装置1100还可以包括:更改放弃单元1150,配置为在监测到所述更改的情况下,放弃所述更改。在本公开实施例中,所述更改可以为所述目标节点和/或子节点的更改。具体地,可以通过对目标节点和/或子节点的监测器设置回调函数的方式,来放弃之前的更改,使得目标节点和/或子节点的增删、属性的更改/增删等恢复到之前的状态。

根据本公开实施例,可以基于前述变动观察器对目标节点的子节点设置属性监测器和/或删除监测器,其中,所述属性监测器用于监测所述目标节点的子节点的属性方面的更改。可选地,所述属性监测器所用来监测的目标节点的子节点的属性可以为其所有属性,也可以为预设的其中一个或多个属性,在此不做限制。在一个示例中,可以对所述属性监测器设置相应的回调函数,所述回调函数可以用于获取属性变化的具体内容,并进行相应的处理。例如,当所述属性监测器监测到所述目标节点的子节点某个属性被删除时,可以利用回调函数增加先前被删除的属性值;当所述属性监测器监测到所述目标节点的子节点被添加某个新属性时,可以利用回调函数删除这一新属性;当所述属性监测器监测到所述目标节点的子节点某个属性值被更改时,可以利用回调函数恢复被更改项的更改前的属性值。

对所述目标节点的子节点设置的删除监测器可以用于监测对所述目标节点的子节点的删除行为,或者子节点上的节点新增行为。在一个示例中,可以对所述删除监测器设置相应的回调函数,所述回调函数可以用于对被删除/新增的目标节点的子节点及其相关节点进行相应的处理。例如,当所述删除监测器监测到所述目标节点的子节点被删除时,可以复制被删除的目标节点的子节点,并重新赋值其所有的属性,来生成一个新的子节点;当所述删除监测器监测到所述目标节点的子节点被挂载了一个新的子节点时,可以删除所挂载的新的子节点。

根据本公开实施例,还可以基于前述变动观察器对目标节点设置属性监测器和/或删除监测器,其中,所述属性监测器可以用于监测所述目标节点的属性方面的更改。可选地,所述属性监测器所用来监测的目标节点的属性可以为其所有属性,也可以为预设的其中一个或多个属性,在此不做限制。在一个示例中,可以对所述属性监测器设置相应的回调函数,所述回调函数可以用于获取属性变化的具体内容,并进行相应的处理。例如,当所述属性监测器监测到所述目标节点某个属性被删除时,可以利用回调函数增加先前被删除的属性值;当所述属性监测器监测到所述目标节点被添加某个新属性时,可以利用回调函数删除这一新属性;当所述属性监测器监测到所述目标节点某个属性值被更改时,可以利用回调函数恢复被更改项的更改前的属性值。

对所述目标节点设置的删除监测器可以用于监测对所述目标节点及其相关子节点的删除/新增行为。在一个示例中,可以对所述删除监测器设置相应的回调函数,所述回调函数可以用于对被删除/新增的目标节点及其相关子节点进行相应的处理。例如,当所述删除监测器监测到所述目标节点被删除时,可以复制被删除的目标节点,并重新赋值其所有的属性,来生成一个新的目标节点;当所述删除监测器监测到所述目标节点被挂载了一个新的子节点时,可以删除所挂载的新的子节点。

根据本公开实施例,网络页面更改监测装置1100还可以包括:上报单元1160,配置为在监测到所述更改的情况下,将所监测到的更改上报。在本公开实施例中,所述更改可以为所述目标节点和/或子节点的更改。可选地,当监测到目标节点和/或子节点的更改行为时,可以根据行为的具体性质和次数决定是否上报服务器,或者是否进行警告。

根据本公开实施例的网络页面更改监测装置,能够确获取网络页面中的目标节点和要在目标节点上挂载的挂载对象,并通过对作为目标节点的子节点的挂载对象进行监测的方式来进行网络页面监测,有效防止了网络页面被篡改。此外,本公开提供的网络页面更改检测装置能够实现对网络页面更改的及时监控,从而大大提高了窃取网络页面信息的难度,并保证了网络页面的安全性。

图12示出了根据本公开的实施例的网络页面更改监测设备1200的示例性框图。

如图12所示的网络页面更改监测设备1200可以实现为一个或多个专用或通用的计算机系统模块或部件,例如个人电脑、笔记本电脑、平板电脑、手机、个人数码助理(personaldigitalassistance,pda)、智能眼镜、智能手表、智能指环、智能头盔及任何智能便携设备。其中,网络页面更改监测设备1200可以包括至少一个处理器1210及存储器1220。

其中,所述至少一个处理器1210用于执行程序指令。所述存储器1220在网络页面更改监测设备1200中可以以不同形式的程序储存单元以及数据储存单元存在,例如硬盘、只读存储器(rom)、随机存取存储器(ram),其能够用于存储处理器处理和/或执行网络页面监测过程中使用的各种数据文件,以及处理器所执行的可能的程序指令。虽然未在图中示出,但网络页面更改监测设备1200还可以包括一个输入/输出组件,支持网络页面更改监测设备1200与其他组件之间的输入/输出数据流。网络页面更改监测设备1200也可以通过通信端口从网络发送和接收信息及数据。

在一些实施例中,所述存储器1220所存储的一组指令在由所述处理器1210执行时,使所述网络页面更改监测设备1200执行如前所述的网络页面更改监测方法、或实现如前所述的网络页面更改监测装置。

尽管在图12中,处理器1210、存储器1220呈现为单独的模块,本领域技术人员可以理解,上述设备模块可以被实现为单独的硬件设备,也可以被集成为一个或多个硬件设备。只要能够实现本公开描述的原理,不同的硬件设备的具体实现方式不应作为限制本公开保护范围的因素。

根据本公开的另一方面,还提供了一种非易失性的计算机可读存储介质,其上存储有计算机可读的指令,当利用计算机执行所述指令时可以执行如前所述的网络页面更改监测方法、或实现如前所述的网络页面更改监测装置。

根据本公开实施例,能够获取网络页面中的目标节点和要在目标节点上挂载的挂载对象,并通过对作为目标节点的子节点的挂载对象进行监测的方式来进行网络页面监测,有效防止了网络页面被篡改。此外,本公开提供的网络页面更改检测方法、装置、设备和计算机可读存储介质能够实现对网络页面更改的及时监控,从而大大提高了窃取网络页面信息的难度,并保证了网络页面的安全性。

技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。

所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。例如:从设备的一个服务器或主机计算机加载至一个计算机环境的硬件平台,或其他实现系统的计算机环境,或与提供网络页面更改监测所需要的信息相关的类似功能的系统。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。

本申请使用了特定词语来描述本申请的实施例。如“第一/第二实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。

上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本发明由权利要求书及其等效物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1