一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种针对小程序的风险检测方法、装置及设备与流程

2021-10-29 22:41:00 来源:中国专利 TAG:互联网 检测方法 装置 风险 程序


1.本技术涉及互联网技术领域,尤其涉及一种针对小程序的风险检测方法、装置及设备。


背景技术:

2.小程序是一种不需要安装即可使用的应用,用户可以在宿主应用中去启动并调用小程序,这种小程序随时可用,但又无需安装卸载,使用便捷性较好。在小程序运营过程中,小程序的服务商可能需要对小程序的功能、内容等进行更新,而为保障企业及用户权益,目前,通常需要人工对小程序的服务商发布的各个版本的小程序的页面数据进行风险检测,以识别各个版本的小程序存在的风险。
3.综上所述,如何提升针对小程序的风险检测的效率,已成为亟待解决的技术问题。


技术实现要素:

4.本说明书实施例提供的一种针对小程序的风险检测方法、装置及设备,用于提升针对小程序的风险检测的效率。
5.为解决上述技术问题,本说明书实施例是这样实现的:
6.本说明书实施例提供的一种针对小程序的风险检测方法,包括:
7.基于小程序的更新后版本的安装包获取目标页面的待检测页面数据;
8.获取所述目标页面的历史页面数据;所述历史页面数据是基于所述小程序的历史版本的安装包获取到的;
9.对所述待检测页面数据与所述历史页面数据进行比对,得到所述目标页面的更新数据;
10.对所述更新数据进行风险检测,得到针对所述小程序的风险检测结果。
11.本说明书实施例提供的一种针对小程序的风险检测装置,包括:
12.第一获取模块,用于基于小程序的更新后版本的安装包获取目标页面的待检测页面数据;
13.第二获取模块,用于获取所述目标页面的历史页面数据;所述历史页面数据是基于所述小程序的历史版本的安装包获取到的;
14.比对模块,用于对所述待检测页面数据与所述历史页面数据进行比对,得到所述目标页面的更新数据;
15.风险检测模块,用于对所述更新数据进行风险检测,得到针对所述小程序的风险检测结果。
16.本说明书实施例提供的一种针对小程序的风险检测设备,包括:
17.至少一个处理器;以及,
18.与所述至少一个处理器通信连接的存储器;其中,
19.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一
个处理器执行,以使所述至少一个处理器能够:
20.基于小程序的更新后版本的安装包获取目标页面的待检测页面数据;
21.获取所述目标页面的历史页面数据;所述历史页面数据是基于所述小程序的历史版本的安装包获取到的;
22.对所述待检测页面数据与所述历史页面数据进行比对,得到所述目标页面的更新数据;
23.对所述更新数据进行风险检测,得到针对所述小程序的风险检测结果。
24.本说明书中提供的至少一个实施例能够实现以下有益效果:
25.基于小程序的更新后版本的安装包以及历史版本的安装包分别自动获取目标页面的待检测页面数据与历史页面数据;对待检测页面数据与历史页面数据进行比对,得到目标页面的更新数据;通过对更新数据进行风险检测,得到针对小程序的风险检测结果。该方案通过自动提取小程序页面中的更新数据,以及自动进行风险检测,有利于提升风险检测效率,减少人力消耗。以及,由于小程序的历史页面数据通常为完成风险检测的数据,从而无需再次对更新后版本的小程序的页面数据中包含的该历史页面数据进行风险检测;基于此,该方案还通过仅对更新后版本的小程序页面中的更新数据进行风险检测,以减少所需进行风险检测的数据量,从而有利于进一步提升风险检测效率。
附图说明
26.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
27.图1为本说明书实施例中的一种针对小程序的风险检测方法的整体方案流程示意图;
28.图2为本说明书实施例提供的一种针对小程序的风险检测方法的流程示意图;
29.图3为本说明书实施例提供的对应于图2中的针对小程序的风险检测方法的泳道流程示意图;
30.图4为本说明书实施例提供的对应于图2的一种针对小程序的风险检测装置的结构示意图;
31.图5为本说明书实施例提供的对应于图2的一种针对小程序的风险检测设备的结构示意图。
具体实施方式
32.为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
33.以下结合附图,详细说明本说明书各实施例提供的技术方案。
34.现有技术中,宿主应用可以为部署于终端设备上的应用程序,用户可以通过触发宿主应用的应用页面中的小程序图标,以启动小程序。而小程序则是可以依托于宿主应用的应用程序运行且独立于宿主应用的应用程序而开发的网页结构框架程序。
35.目前,小程序的服务商在新增业务服务或者针对小程序的性能进行优化后,通常需要对小程序进行版本迭代,以便于提升用户使用新版本的小程序时的体验。而为保障企业及用户权益,在新版本的小程序上架前,通常需要采用人工方式,逐一查阅待发布的小程序的各个页面所展示的内容,以识别小程序中所存在的风险信息,这种针对小程序的风险检测方法不仅需要消耗大量人力,同时检测效率也比较低。
36.为了解决现有技术中的缺陷,本方案给出了以下实施例:
37.图1为本说明书实施例中的一种针对小程序的风险检测方法的整体方案流程示意图。如图1所示,小程序的服务商可以在小程序平台处发布小程序的安装包,从而使得用户可以利用用户设备101处搭载的宿主应用,去从小程序平台处的服务器102处获取小程序的安装包,以在该宿主应用中基于该安装包启动小程序。
38.在本说明书实施例中,既可以在小程序平台处的服务器102接收到小程序的更新后版本的安装包后,利用该服务器102去基于该更新后版本的安装包获取目标页面的待检测页面数据。或者,也可以在用户设备101运行小程序的过程中,利用用户设备101去基于该更新后版本的安装包获取目标页面的待检测页面数据。
39.基于同样的原理,前期小程序的服务商在小程序平台处发布小程序的历史版本的安装包后,也可以利用用户设备101以及服务器102去基于该历史版本的安装包获取该目标页面的历史页面数据。
40.由于通常需要针对各个版本的小程序均执行风险检测处理,因此,前期通常已经取得了针对该目标页面的历史页面数据的风险检测结果,从而使得在针对更新后版本的小程序进行风险检测时,可以对目标页面的待检测页面数据与历史页面数据进行比对,得到该目标页面的更新数据;以及,通过对该更新数据进行风险检测,即可得到针对更新后版本的小程序的风险检测结果。该方案,不仅无需基于人工对小程序页面进行风险检测,有利于减少人力消耗,提升风险检测效率,还能通过减少所需进行风险检测的数据量,以进一步提升风险检测效率。
41.接下来,将针对说明书实施例提供的一种针对小程序的风险检测方法结合附图进行具体说明:
42.图2为本说明书实施例提供的一种针对小程序的风险检测方法的流程示意图。从程序角度而言,该流程的执行主体可以为风险检测设备,或者,风险检测设备处搭载的应用程序。
43.如图2所示,该流程可以包括以下步骤:
44.步骤202:基于小程序的更新后版本的安装包获取目标页面的待检测页面数据。
45.在本说明书实施例中,小程序的服务商在对小程序中的功能、内容或者性能等进行变更时,通常需要对小程序的安装包进行修改,因此,可以将修改后的安装包作为小程序的更新后版本的安装包,而将修改前的安装包作为小程序的历史版本的安装包。
46.在实际应用中,用户可以在设备中运行小程序的安装包,以启动小程序,进而展示小程序的页面数据。因此,可以基于该小程序的更新后版本的安装包去获取小程序的目标
页面的待检测页面数据。其中,目标页面可以指小程序中的需要进行风险检测的页面,而待检测页面数据则可以指目标页面中所能向用户展示的数据,例如,目标页面中的标题、时间等文本信息、控件的图标信息、图片信息、超链接信息等。
47.步骤204:获取所述目标页面的历史页面数据;所述历史页面数据是基于所述小程序的历史版本的安装包获取到的。
48.在本说明书实施例中,由于通常需要对各个版本的小程序均进行风险检测,因此,在前期小程序的服务商提供小程序的历史版本的安装包后,是需要基于该历史版本的安装包获取小程序的目标页面的历史页面数据,并对该历史页面数据进行风险检测的。
49.基于此,步骤204中获取的目标页面的历史页面数据,可以是前期(通常为执行步骤202之前)在针对历史版本的小程序进行风险检测时提取并存储的数据,步骤204中只需调用前期提取并存储的目标页面的历史页面数据即可,而无需再次基于小程序的历史版本的安装包执行数据提取操作,以取得目标页面的历史页面数据,有利于提升步骤204的执行效率。
50.或者,在执行步骤204时,也可以采用与步骤202中提取目标页面的待检测页面数据相同的技术原理,去基于小程序的历史版本的安装包提取目标页面的历史页面数据,对此不作具体限定。
51.步骤206:对所述待检测页面数据与所述历史页面数据进行比对,得到所述目标页面的更新数据。
52.在本说明书实施例中,可以通过对待检测页面数据与历史页面数据进行比对,生成数据比对结果,该数据比对结果可以用于确定待检测页面数据中相较于历史页面数据发生变化的数据以及新增的数据,其中,确定出的发生变化的数据以及新增的数据即为目标页面的更新数据。
53.在本说明书实施例中,每个待检测页面数据与历史页面数据通常可以均包括:页面数据标识与页面数据内容,表现为(页面数据标识:页面数据内容)形式,则在对待检测页面数据与历史页面数据进行比对时,应将具有相同页面数据标识的待检测页面数据与历史页面数据中所各自包含页面数据内容进行比对。
54.例如,待检测页面数据可以包括(title1:超高收益率)、(title2:投资)、(nav:https://abcde.com)等三项,而历史页面数据包括(title1:收益率不定)、(title2:投资)等两项,对待检测页面数据与历史页面数据进行比对,得到的更新数据可以为:“超高收益率”与“https://abcde.com”。
55.步骤208:对所述更新数据进行风险检测,得到针对所述小程序的风险检测结果。
56.在本说明书实施例中,由于通常需要对各个版本的小程序均进行风险检测,因此,在针对历史版本的小程序进行风险检测时,通常已经取得了针对目标页面的历史页面数据的风险检测结果,使得在对更新后版本的小程序进行风险检测时,无需对目标页面的待检测页面数据中所包含的该目标页面的历史页面数据再次进行风险检测,而仅需调用前期已经取得的针对该目标页面的历史页面数据的风险检测结果,并结合针对该目标页面的更新数据的风险检测结果,就可以得到针对更新后版本的小程序的风险检测结果。即只需对目标页面的更新数据进行风险检测,就可以得到针对更新后版本的小程序的风险检测结果。
57.即步骤208之前还可以包含:获取针对目标页面的历史页面数据的风险检测结果
的步骤,该针对目标页面的历史页面数据的风险检测结果可以是在针对历史版本的小程序进行风险检测时生成的。此时,可以根据针对目标页面的历史页面数据的风险检测结果以及针对该更新数据的风险检测结果,生成针对小程序的风险检测结果。
58.在本说明书实施例中,步骤208:对所述更新数据进行风险检测,具体可以包括:
59.检测所述更新数据中是否包含风险词,检测所述更新数据中是否包含预设类型的风险图像,以及检测所述更新数据中是否包含风险链接中的至少一种。
60.对应的,步骤208得到的针对所述小程序的风险检测结果可以用于表示该更新数据中是否包含风险词、风险图像以及风险链接,该风险检测结果还可以包含该更新数据中所具体包含的风险词、风险图像以及风险链接。
61.为便于理解,结合前面的实施例,针对步骤208的实现方式进行解释说明。例如,若更新数据为“超高收益率”与“https://abcde.com”,则可以检测“超高收益率”是否属于或包含预设风险词库中的风险词;若是,则确定“超高收益率”中包含风险词,若否,则确定“超高收益率”中不包含风险词。以及,检测“https://abcde.com”中是否包含预设域名,或者,采集“https://abcde.com”这一超链接对应的页面中的页面数据,检测该页面数据中是否包含预设风险信息,若是,则确定“https://abcde.com”中包含风险链接,若否,则确定“https://abcde.com”中不包含风险链接。
62.除此之外,若更新数据中包含图像时,可以利用预先训练好的图像分类模型或者目标识别模型对该更新数据中包含的图像进行处理,若预先训练好的图像分类模型输出的分类结果表示该图像为风险类型的图像,或者,利用该目标识别模型从该图像中识别出风险目标,则可以确定该图像为预设类型的风险图像。
63.图1中的方法,通过自动提取小程序页面中的更新数据,以及自动进行风险检测,有利于提升风险检测效率,减少人力消耗。以及,由于小程序的历史页面数据通常为完成风险检测的数据,从而无需再次对更新后版本的小程序的页面数据中包含的该历史页面数据进行风险检测;基于此,该方案还通过仅对更新后版本的小程序页面中的更新数据进行风险检测,即可得到针对小程序的风险检测结果,以减少所需进行风险检测的数据量,有利于进一步提升风险检测效率。
64.基于图1中的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
65.在本说明书实施例中,获取目标页面的待检测页面数据的实现方式可以由多种,例如,可以在小程序上架前就去获取目标页面的待检测页面数据,以对未上架的小程序进行风险检测,从而有利于提升针对小程序的风险控制能力。或者,也可以在小程序上架后再去获取目标页面的待检测页面数据,进而对已上架的小程序进行风险检测,以更全面的检测小程序运行过程中存在的风险。下面对于获取目标页面的待检测页面数据的实现方式进行具体说明。
66.第一种实现方式
67.步骤202:基于小程序的更新后版本的安装包获取目标页面的待检测页面数据,具体可以包括:
68.从小程序的更新后版本的安装包中提取所述目标页面的标记语言文档;所述标记语言文档是基于预设标记语言生成的文档。
69.对所述标记语言文档进行解析,得到所述目标页面的待检测页面数据。
70.在本说明书实施例中,小程序的安装包(install pack)即为小程序的代码包,又称为小程序包,小程序的安装包中包含有运行小程序所需的程序代码。
71.标记语言,是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。基于标记语言生成的标记语言文档属于程序代码。
72.在本说明书实施例中,小程序的更新后版本的安装包中可以包含目标页面的标记语言文档,通过对该标记语言文件进行解析,可以提取到目标页面中的页面数据。
73.其中,对所述标记语言文档进行解析,得到所述目标页面的待检测页面数据,具体可以包括:
74.利用所述预设标记语言的解析器对所述标记语言文档进行解析,得到解析结果。
75.获取预设元素的标识信息。
76.根据所述标识信息,从所述解析结果中提取所述预设元素的元素内容,得到所述目标页面的待检测页面数据。
77.在本说明书实施例中,预设标记语言可以包括超文本标记语言(hypertext mark

up language,html)、可扩展标记语言(extensible markup language,xml)、小程序标记语言中的至少一种。在实际应用中,小程序标记语言可以包括axml,axml是小程序框架设计的一套标签语言,可以用于描述小程序页面的结构。
78.预设标记语言的解析器是一种可以用于解析基于预设标记语言生成的标记语言文档的应用程序。该解析器可以通过过滤该标记语言文档中的诸如空格、换行之类的无关字符,并将该标记语言文档切分成合法符号序列,以及按照句法规则分析该标记语言文档的结构,以得到由dom(document object model)元素和属性节点组成的解析树。其中,dom元素与标记语言文档中的元素通常可以是一一对应的。
79.在本说明书实施例中,标记语言文档中的元素可以是构成标记语言文档的基本对象,标记语言文档中的元素可以通过标签构成,而元素内容可以通过使用标签进行定义。以html文档为例,假定,目标页面的标记语言文档为:
[0080][0081]
该标记语言文档中包含<html>、<head>、<title>、<big>等html标签,其中,<html>标签用于定义该标记语言文档是一个html文档,<head>标签用于定义该标记语言文档的头部与尾部,<title>标签用于定义该标记语言文档中的一个标题,<big>标签用于呈现大号字体效果。其中,<title>标签构成了一个html元素,该html元素的元素内容为“投资”。而<big>标签也构成了一个html元素,用于令“投资”这一标题呈现大号字体效果。
[0082]
在本说明书实施例中,可以根据实际需求设置需要提取元素内容的元素为预设元素,预设元素的标识信息可以为该预设元素对于的标签信息,例如,<title>、<address>等,
对此不作具体限定。
[0083]
在本实现方式中,图2中方案的执行主体可以为小程序平台的服务器,当该服务器接收到小程序的服务商提交的小程序的更新后版本的安装包后,即可利用该服务器处的针对预设标记语言的解析器去提取目标页面的待检测页面数据,并在利用图2中的方法对小程序进行风险检测后,再上架更新后版本的小程序。
[0084]
第二种实现方式
[0085]
步骤202:基于小程序的更新后版本的安装包获取目标页面的待检测页面数据,具体可以包括:
[0086]
在基于小程序的更新后版本的安装包运行所述小程序的过程中,利用所述小程序的框架代码获取目标页面的待检测页面数据。
[0087]
在本说明书实施例中,小程序的框架代码可以指搭建小程序的软件框架(software framework)所涉及的程序代码。其中,软件框架通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。
[0088]
在实际应用中,小程序的服务商通常需要利用小程序的软件框架去开发小程序,以及生成小程序的安装包,因此,小程序的安装包中通常包含小程序的框架代码。由于部分框架代码具有采集小程序的页面数据的能力,因此,当用户在宿主应用中基于小程序的更新后版本的安装包运行该小程序时,可以利用该更新后版本的安装包中的框架代码去采集目标页面的待检测页面数据,可见,图2中方案的执行主体也可以为使用小程序的用户的设备。
[0089]
第三种实现方式
[0090]
步骤202:基于小程序的更新后版本的安装包获取目标页面的待检测页面数据,具体可以包括:
[0091]
在基于小程序的更新后版本的安装包运行所述小程序的过程中,利用预设埋点获取目标页面的待检测页面数据。
[0092]
其中,所述预设埋点包括:所述更新后版本的安装包中的预设代码埋点、软件开发工具包中的预设埋点、所述小程序的服务端处的预设埋点中的至少一种。
[0093]
在本说明书实施例中,埋点可以指针对特定用户行为、事件及数据进行捕获、处理和发送的相关技术及其实施过程。通过针对小程序进行埋点,可以在小程序应运行过程中收集所需的页面数据以及用户行为数据,以跟踪小程序的使用状况。
[0094]
在本说明书实施例中,针对小程序的预设埋点的实现方式可以由多种。例如,利用代码埋点方式设置预设代码埋点,利用全埋点方式设置软件开发工具包中的预设埋点,利用服务器埋点设置小程序的服务端处的预设埋点等。
[0095]
其中,代码埋点是指在小程序的开发过程中,人工将埋点代码结合到小程序的业务代码中,从而在基于小程序的安装包运行小程序的过程中,不仅会运行小程序的业务代码,还会运行埋点代码,以实现基于代码埋点的数据采集。全埋点又称为无埋点,是指小程序通过调用软件开发工具包(software development kit,sdk),以利用全埋点sdk对小程序中的数据做全量采集。该全埋点sdk既可以包含于小程序的更新后版本的安装包内,也可以是在小程序运行过程中从其他设备处获取的,对此不作具体限定。服务器埋点即在小程
序的服务器处设置的埋点,小程序在运行过程中通常需要与服务器进行数据传输与处理,因此,可以通过服务器处的埋点采集小程序的页面数据。
[0096]
基于上述内容,可知,当预设埋点为预设代码埋点以及软件开发工具包中的预设埋时,图2中方法的执行主体可以为用户设备,而当预设埋点为所述小程序的服务端处的预设埋点时,图2中方法的执行主体还可以为小程序的服务器。当然,用户设备及小程序的服务器还可以将其获取到的目标页面的待检测数据发送至其他设备处,以利用其他设备执行图2中的方法,对此不作具体限定。
[0097]
在本说明书实施例中,由于小程序平台处的工作人员以及小程序服务商通常需对小程序进行风险控制,因此,在生成针对小程序的风险检测结果后,还可以向上述人员的设备发送提示信息,以提升风险控制效率。
[0098]
从而,步骤208:对所述更新数据进行风险检测,得到针对所述小程序的风险检测结果之后,还可以包括:
[0099]
根据所述更新数据以及所述风险检测结果中的至少一种,生成提示信息。
[0100]
发送所述提示信息至预设监管设备。
[0101]
在本说明书实施例中,当小程序平台处的工作人员以及小程序的服务商通过预设监管设备,接收到表示更新后版本的小程序具有风险的提示信息后,小程序的服务商通常需要对小程序的更新后版本的安装包进行修改,以降低该更新后版本的小程序所具有的风险。后续,可以继续利用图2中的方法针对修改后的安装包进行风险检测,直至达到小程序上架要求,以实现针对小程序的版本迭代过程的风险控制。
[0102]
在实际应用中,由于小程序平台处的工作人员以及小程序的服务商通常还需要监督小程序的上架处理进度,从而图2中的方法还可以包括:
[0103]
获取所述小程序的版本更新状态信息。
[0104]
发送所述版本更新状态信息至所述预设监管设备。
[0105]
其中,所述版本更新状态信息可以根据实际需求设备,例如,可以包括:表示小程序的服务商向小程序平台上传了小程序的更新后版本的安装包的信息,表示小程序的服务商需对更新后版本的小程序存在的风险进行控制的信息,表示允许该更新后版本的安装包上架供用户下载使用的信息,表示该更新后版本的安装包上架成功的信息等。
[0106]
在本说明书实施例中,风险监管人员可以通过预设监管设备获取到针对小程序的版本更新状态信息、所述更新数据以及所述风险检测结果,从而便于风险监管人员针对小程序的版本迭代过程进行实时的风险控制。
[0107]
在本说明书实施例中,区块链(block chain),可以理解为是多个区块顺序存储构成的数据链,每个区块的区块头都包含有本区块的时间戳、前一个区块信息的哈希值和本区块信息的哈希值,由此实现区块与区块之间的相互验证,构成不可篡改的区块链。每个区块都可以理解为是一个数据块(存储数据的单元)。区块链作为一种去中心化的数据库,是一串使用密码学方法相互关联产生的数据块,每一个数据块中包含了一次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块与区块首尾相连形成的链,即为区块链。若需要修改块内数据,则需要修改此区块之后所有区块的内容,并将区块链网络中所有节点备份的数据进行修改。因此,区块链具有难以篡改、删除的特点,在数据已保存至区块链后,其作为一种保持内容完整性的方法具有可靠性。
[0108]
基于区块链的上述特性,可以将针对小程序提取到的页面数据以及针对该页面数据的风险检测结果存储至区块链。则图2中的方法,步骤204具体可以为:从区块链中获取目标页面的历史页面数据,由于该历史页面数据具有高可信度,因处,有利于提升基于该历史页面数据生成的针对小程序的风险检测结果的准确性。同理,还可以将步骤202提取到的待检测页面数据以及步骤208中生成的风险检测结果也存储至区块链,以便于后续使用。
[0109]
图3为本说明书实施例提供的对应于图2中的针对小程序的风险检测方法的泳道流程示意图。如图3所示,该针对小程序的风险检测流程可以涉及小程序平台处的服务器、小程序使用者的设备、小程序的服务器以及风险检测设备等执行主体。
[0110]
在实际应用中,风险检测设备既可以采用小程序平台处的服务器、小程序使用者的设备或者小程序的服务器实现,也可以采用小程序平台处的服务器、小程序使用者的设备以及小程序的服务器之外的设备实现。
[0111]
为便于理解,图3中以风险检测设备采用小程序平台处的服务器、小程序使用者的设备以及小程序的服务器之外的设备实现为例,进行解释说明。
[0112]
在小程序上架之前的阶段,小程序平台处的服务器可以接收小程序服务商上传的小程序的更新后版本的安装包,小程序平台处的服务器可以从小程序的更新后版本的安装包中提取目标页面的标记语言文档;该标记语言文档可以是基于预设标记语言生成的文档;通过对所述标记语言文档进行解析,得到所述目标页面的待检测页面数据。以及,发送该待检测页面数据至风险检测设备。
[0113]
风险检测设备可以接收小程序平台处的服务器发送的目标页面的待检测页面数据,并获取所述目标页面的历史页面数据;所述历史页面数据是基于所述小程序的历史版本的安装包获取到的;通过对所述待检测页面数据与所述历史页面数据进行比对,得到所述目标页面的更新数据;以及,对所述更新数据进行风险检测,得到针对所述小程序的风险检测结果。
[0114]
在小程序上架之后的阶段,小程序使用者的设备可以从小程序平台处的服务器处获取小程序的更新后版本的安装包,在基于该更新后版本的安装包运行小程序的过程中,小程序使用者的设备可以利用小程序的框架代码获取目标页面的待检测页面数据,或者,利用该更新后版本的安装包中的预设代码埋点、软件开发工具包中的预设埋点等获取目标页面的待检测页面数据,并发送该待检测页面数据至风险检测设备。
[0115]
以及,在小程序使用者的设备基于该更新后版本的安装包运行小程序的过程中,小程序使用者的设备还可以与小程序的服务器进行数据交互,此时,小程序的服务器可以利用小程序的服务端处的预设埋点获取目标页面的待检测页面数据,并发送该待检测页面数据至风险检测设备。
[0116]
风险检测设备则可以接收小程序使用者的设备或者小程序的服务器发送的目标页面的待检测页面数据,并获取所述目标页面的历史页面数据;所述历史页面数据是基于所述小程序的历史版本的安装包获取到的;通过对所述待检测页面数据与所述历史页面数据进行比对,得到所述目标页面的更新数据;以及,对所述更新数据进行风险检测,得到针对所述小程序的风险检测结果。
[0117]
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图4为本说明书实施例提供的对应于图2的一种针对小程序的风险检测装置的结构示意图。如图4所示,该
装置可以包括:
[0118]
第一获取模块402,用于基于小程序的更新后版本的安装包获取目标页面的待检测页面数据。
[0119]
第二获取模块404,用于获取所述目标页面的历史页面数据;所述历史页面数据是基于所述小程序的历史版本的安装包获取到的。
[0120]
比对模块406,用于对所述待检测页面数据与所述历史页面数据进行比对,得到所述目标页面的更新数据。
[0121]
风险检测模块408,用于对所述更新数据进行风险检测,得到针对所述小程序的风险检测结果。
[0122]
基于图4的装置,本说明书实施例还提供了该装置的一些具体实施方案,下面进行说明。
[0123]
可选的,所述第一获取模块402,具体可以包括:
[0124]
提取单元,用于从小程序的更新后版本的安装包中提取所述目标页面的标记语言文档;所述标记语言文档是基于预设标记语言生成的文档。
[0125]
解析单元,用于对所述标记语言文档进行解析,得到所述目标页面的待检测页面数据。
[0126]
可选的,所述解析单元,具体可以用于:
[0127]
利用所述预设标记语言的解析器对所述标记语言文档进行解析,得到解析结果。
[0128]
获取预设元素的标识信息。
[0129]
根据所述标识信息,从所述解析结果中提取所述预设元素的元素内容,得到所述目标页面的待检测页面数据。
[0130]
可选的,所述预设标记语言包括超文本标记语言、可扩展标记语言、小程序标记语言中的至少一种。
[0131]
可选的,所述第一获取模块402,具体可以用于:
[0132]
在基于小程序的更新后版本的安装包运行所述小程序的过程中,利用所述小程序的框架代码获取目标页面的待检测页面数据。
[0133]
可选的,所述第一获取模块402,具体可以用于:
[0134]
在基于小程序的更新后版本的安装包运行所述小程序的过程中,利用预设埋点获取目标页面的待检测页面数据。
[0135]
可选的,所述风险检测模块408,具体可以用于:
[0136]
检测所述更新数据中是否包含风险词;或者,
[0137]
检测所述更新数据中是否包含预设类型的风险图像;或者,
[0138]
检测所述更新数据中是否包含风险链接。
[0139]
可选的,图4中的装置,还可以包括:
[0140]
提示信息生成模块,用于根据所述更新数据以及所述风险检测结果中的至少一种,生成提示信息。
[0141]
第一发送模块,用于发送所述提示信息至预设监管设备。
[0142]
第三获取模块,用于获取所述小程序的版本更新状态信息。
[0143]
第二发送模块,用于发送所述版本更新状态信息至所述预设监管设备。
[0144]
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
[0145]
图5为本说明书实施例提供的对应于图2的一种针对小程序的风险检测设备的结构示意图。如图5所示,设备500可以包括:
[0146]
至少一个处理器510;以及,
[0147]
与所述至少一个处理器通信连接的存储器530;其中,
[0148]
所述存储器530存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够:
[0149]
基于小程序的更新后版本的安装包获取目标页面的待检测页面数据。
[0150]
获取所述目标页面的历史页面数据;所述历史页面数据是基于所述小程序的历史版本的安装包获取到的。
[0151]
对所述待检测页面数据与所述历史页面数据进行比对,得到所述目标页面的更新数据。
[0152]
对所述更新数据进行风险检测,得到针对所述小程序的风险检测结果。
[0153]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图5所示的设备而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0154]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very

high

speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0155]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,
asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0156]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0157]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0158]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0159]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0160]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0161]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0162]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0163]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0164]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字符多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0165]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0166]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0167]
本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0168]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜