网页权限行为控制方法、装置、计算机设备和存储介质与流程

文档序号:30487480发布日期:2022-06-22 00:44阅读:146来源:国知局
网页权限行为控制方法、装置、计算机设备和存储介质与流程

1.本技术涉及计算机技术领域,特别是涉及一种网页权限行为控制方法、装置、计算机设备和存储介质。


背景技术:

2.随着前端技术的发展,出现了h5(html5,超文本5.0)技术,html5是构建web内容的一种语言描述方式。h5网页是使用html5高级网页技术制作的一个页面,可以运行在pc、android和ios等设备端。目前,h5网页是将系统的权限控制服务类注入自定义的代码中,当h5网页使用pc、android和ios等系统权限时,调用权限控制服务类来进行权限的调用,从而完成对系统权限的管控。然而,由于不同的终端可能会有不同版本的操作系统,在不同的终端中展示同一h5网页时,经常会发生操作系统的权限控制服务类无法调用的情况,从而无法对h5网页的权限行为进行控制,导致h5网页在进行权限行为控制时存在适配性的问题。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种具有适配性的网页权限行为控制方法、装置、计算机设备和存储介质。
4.一种网页权限行为控制方法,所述方法包括:
5.检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,对应关系是指各个操作系统信息与权限控制接口的对应关系;
6.调用当前权限控制接口确定权限行为请求对应的目标权限行为类型,基于目标权限行为类型确定匹配的目标权限类型;
7.基于当前应用程序信息查找目标权限类型对应的目标权限控制策略,按照目标权限控制策略在当前h5网页中进行权限行为控制。
8.一种网页权限行为控制装置,所述装置包括:
9.接口查找模块,用于检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,对应关系是指各个操作系统信息与权限控制接口的对应关系;
10.类型确定模块,用于调用当前权限控制接口确定权限行为请求对应的目标权限行为类型,基于目标权限行为类型确定匹配的目标权限类型;
11.权限控制模块,用于基于当前应用程序信息查找目标权限类型对应的目标权限控制策略,按照目标权限控制策略在当前h5网页中进行权限行为控制。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
13.检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系
统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,对应关系是指各个操作系统信息与权限控制接口的对应关系;
14.调用当前权限控制接口确定权限行为请求对应的目标权限行为类型,基于目标权限行为类型确定匹配的目标权限类型;
15.基于当前应用程序信息查找目标权限类型对应的目标权限控制策略,按照目标权限控制策略在当前h5网页中进行权限行为控制。
16.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
17.检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,对应关系是指各个操作系统信息与权限控制接口的对应关系;
18.调用当前权限控制接口确定权限行为请求对应的目标权限行为类型,基于目标权限行为类型确定匹配的目标权限类型;
19.基于当前应用程序信息查找目标权限类型对应的目标权限控制策略,按照目标权限控制策略在当前h5网页中进行权限行为控制。
20.上述网页权限行为控制方法、装置、计算机设备和存储介质,当检测到当前h5网页触发权限行为请求时,通过拦截权限行为请求获取到的当前操作系统信息查找对应的目标权限控制接口,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,由于保存有各个操作系统信息与权限控制接口的对应关系,从而可以查找到对应的目标权限控制接口,然后通过目标权限控制接口确定目标权限行为类型,根据目标权限类型对权限行为进行控制,从而避免当操作系统升级时,无法对h5网页的权限行为进行控制的问题,提高了h5网页权限控制的适配性。并且,通过获取到基于当前应用程序信息查找到的目标权限类型对应的目标权限控制策略,使用目标权限控制策略对当前h5网页进行权限行为控制,使得能够对不同应用程序中h5网页的权限行为进行控制,提高了h5网页权限行为控制的通用性。
附图说明
21.图1为一个实施例中网页权限行为控制方法的应用环境图;
22.图2为一个实施例中网页权限行为控制方法的流程示意图;
23.图3为一个实施例中查找目标权限控制接口的流程示意图;
24.图4为一个实施例中h5网页权限行为控制sdk的应用场景示意图;
25.图5为一个实施例中获取权限控制策略信息的流程示意图;
26.图6为一个实施例中触发拉取事件的流程示意图;
27.图7为一个具体实施例中获取并存储权限控制策略信息的流程示意图;
28.图8为一个具体实施例中h5网页的页面示意图;
29.图9为图8具体实施例中申请授权对话框的示意图;
30.图10为图8具体实施例中权限行为处理应用选择界面的示意图;
31.图11为一个实施例中得到目标权限控制策略的流程示意图;
32.图12为一个具体实施例中网页权限行为控制方法的流程示意图;
33.图13为一个具体实施例中h5网页权限行为控制sdk的框架示意图;
34.图14为一个具体实施例中页面权限控制的流程示意图;
35.图15为一个实施例中网页权限行为控制装置的结构框图;
36.图16为一个实施例中计算机设备的内部结构图。
具体实施方式
37.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
38.本技术提供的网页权限行为控制方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,对应关系是指各个操作系统信息与权限控制接口的对应关系;
39.终端102调用当前权限控制接口确定权限行为请求对应的目标权限行为类型,基于目标权限行为类型确定匹配的目标权限类型;终端102基于当前应用程序信息查找目标权限类型对应的目标权限控制策略,按照目标权限控制策略在当前h5网页中进行权限行为控制,终端102可以将权限控制执行结果上传到服务器104中进行保存。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
40.在一个实施例中,如图2所示,提供了一种网页权限行为控制方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
41.步骤202,检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,对应关系是指各个操作系统信息与权限控制接口的对应关系。
42.其中,当前h5网页是指终端当前访问的h5网页。该h5网页可以是应用程序中的网页,比如可以是通过浏览器应用程序访问的页面,也可以是在其他应用程序(app,application)中通过浏览器访问的页面。权限行为是指通过网页触发的需要操作系统权限的用户行为,该权限行为可以包括拨打电话、读取/发送信息、复制/粘贴,访问图库、访问相册、访问地理位置、截屏等需要操作系统权限的行为。权限行为请求是指通过权限行为在h5网页中触发的请求。比如,通过点击h5网页中的电话号码触发的拨打电话号码请求,通过点击h5网页中带有链接的文字触发链接跳转的请求等等。操作系统是指是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事。操作系统包括windows(微软视窗操作系统)、macos(苹果电脑操作系统)、linux(类unix操作系统)、ios(苹果移动设备操作系统)以及android(安卓操作系统)等等。操作系统信息是指用于唯一标识终端中操作系统的信息,包括操作系统版本、名称以及类型等等。当前操作系统信息是指运行当前h5网页的操作系统信息。应用程序信息是指用于标识应用程序的信息,包括应用程序包名、应用程序版本名和应用程序版本号等等。当前应用程序信息是指运行当前h5
网页的应用程序信息。权限控制接口是指操作系统用于进行网页权限控制的接口。不同的操作系统提供的权限控制接口不同。同一操作系统不同的版本提供的权限控制接口也不同,同一操作系统在不同的厂商设备中提供的权限控制接口也不同。目标权限控制接口是指当前操作系统信息对应的当前操作系统的权限控制接口。
43.具体地,终端中已保存有各个操作系统信息与权限控制接口之间的对应关系。然后终端在当前应用程序中运行当前h5网页,当终端检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求通过操作系统接口获取当前操作系统信息,然后终端可以从当前应用程序的配置文件中获取到当前应用程序信息,并根据保存的各个操作系统信息和权限控制接口的对应关系查找当前操作系统信息对应的目标权限控制接口。
44.在一个实施例中,终端还可以获取到终端设备的厂商信息,该厂商信息用于标识生产终端设备的厂商,可以是厂商名称等等。根据该终端设备的厂商信息查找到对应的当前操作系统信息。不同的设备厂商会有不同的操作系统信息。比如,不同的手机厂商会基于android原生系统进行系统优化,得到优化后的android系统,比如手机厂商会使用自定义rom的接口。此时,根据手机厂商信息获取到对应的优化后的操作系统的信息,得到当前操作系统信息。
45.步骤204,调用当前权限控制接口确定权限行为请求对应的目标权限行为类型,基于目标权限行为类型确定匹配的目标权限类型。
46.其中,权限行为类型是指触发权限行为对应的内容的类型,包括纯文字、带有超链接的文字、手机号码、email地址、地图、带有链接的图片等类型。比如,用户的权限行为是点击手机号码,此时,确定点击手机号码的行为对应的权限行为类型为手机号码。目标权限行为类型是指通过当前h5网页触发的权限行为请求对应权限行为类型,可以是带有超链接的文字、手机号码、email(电子邮件)地址、地图、带有链接的图片中的至少一种。权限类型是指执行权限行为请求所需要的权限对应的类型。权限类型可以包括拨打手机号码权限类型、发送电子邮件权限类型、地理位置权限类型、存储权限类型、网页跳转权限类型、音频录制权限类型、文件上传权限类型、文本复制权限类型、访问图库权限类型等等。执行不同的权限行为请求所需要的操作系统权限是不同的。目标权限类型是指与目标权限行为类型匹配的权限类型。比如,目标权限行为类型是手机号码时,权限类型可以是拨打手机号码权限类型。
47.具体地,终端调用当前权限控制接口对权限行为请求进行解析,获取到权限行为请求中的权限行为内容,根据网友行为内容确定权限行为请求对应的目标权限行为类型。然后根据预先获取到的权限行为类型和权限类型的对应关系确定目标权限行为类型匹配的目标权限类型。
48.步骤206,基于当前应用程序信息查找目标权限类型对应的目标权限控制策略,按照目标权限控制策略在当前h5网页中进行权限行为控制。
49.其中,权限控制策略是指实现权限控制的策略,不同的权限类型有不同的权限控制策略,比如,拨打电话号码权限类型对应的权限控制策略可以是用户授权后可以进行电话号码拨打。又比如,文字复制权限类型对应的权限控制策略可以是禁止用户文本复制等等。终端预先获取到每个权限类型对应的权限控制策略并保存。目标权限控制策略是指目标权限类型对应的权限控制策略。权限行为控制是指对h5网页所使用的操作系统权限的行
为进行控制,操作系统权限包括拨打电话、读取/发送信息、复制/粘贴,访问图库、访问相册、地理位置、截屏中的至少一种。
50.具体地,终端预先获取到每个具有h5网页的应用程序信息的不同权限类型对应的权限控制策略并保存。然后终端根据当前应用程序信息查找到对应的一致的应用程序信息对应的各个权限类型,将目标权限类型与各个权限类型进行匹配,当匹配到一致的权限类型时,将该一致的权限类型对应的权限控制策略作为目标权限控制策略。然后按照目标权限控制策略对当前h5网页进行权限行为控制,即终端执行目标权限控制策略对权限行为进行控制,比如,可以进行申请授权提示等等。
51.上述网页权限行为控制方法,当检测到当前h5网页触发权限行为请求时,通过拦截权限行为请求获取到的当前操作系统信息查找对应的目标权限控制接口,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,由于保存有各个操作系统信息与权限控制接口的对应关系,从而可以查找到对应的目标权限控制接口,然后通过目标权限控制接口确定目标权限行为类型,根据目标权限类型进行权限控制,从而避免当操作系统升级时,无法对h5网页的权限进行控制的问题,提高了h5网页权限控制的适配性。并且,通过获取到基于当前应用程序信息查找到的目标权限类型对应的目标权限控制策略,使用目标权限控制策略对当前h5网页进行权限行为控制,使得能够对不同应用程序中h5网页的权限行为进行控制,提高了h5网页权限行为控制的通用性。
52.在一个实施例中,当前应用程序信息对应的当前应用程序包括业务sdk对接层和业务sdk,业务sdk包括h5网页权限行为控制sdk,h5网页权限行为控制sdk用于集成到不同的业务sdk中对h5网页进行权限行为控制;
53.如图3所示,步骤202,即检测到通过当前h5网页触发的权限行为请求,基于权限行为请求获取当前操作系统信息和当前应用程序信息,基于当前操作系统信息查找对应的目标权限控制接口,包括:
54.步骤302,当加载当前h5网页时,通过业务sdk对接层调用业务sdk建立h5网页运行环境,在h5网页运行环境中展示当前h5网页。
55.其中,sdk(software development kit,软件开发工具包)指为平台、软件等建立应用软件时的开发工具的集合。业务sdk是指实现具体业务功能的sdk,比如,实现微信应用登录的sdk。业务sdk对接层是指应用程序app和业务sdk的桥接层。h5网页权限行为控制sdk用于集成到不同的业务sdk中对h5网页进行权限行为控制。该h5网页权限行为控制sdk提供统一接口给业务sdk进行使用。即通过将h5网页权限行为控制sdk提供给业务sdk或者app集成使用,从而可以使app实现对h5网页权限行为的统一控制,从而可以使业务方专注于开发业务功能,不需要去实现权限行为控制,提高了开发效率。
56.具体地,终端通过h5网页url(uniform resource locator,统一资源定位器)加载h5网页时,通过业务sdk对接层调用业务sdk建立h5网页运行环境,在h5网页运行环境中运行当前h5网页。
57.步骤304,通过h5网页权限行为控制sdk检测到通过当前h5网页触发的权限行为请求基于权限行为请求获取当前操作系统信息和当前应用程序信息,基于当前操作系统信息查找对应的目标权限控制接口。
58.具体地,h5网页权限行为控制sdk中具有不同操作系统、不同厂商设备对应的不同
类型的权限策略执行方案,具体来说,h5网页权限行为控制sdk包括安卓操作系统、苹果操作系统、微软操作系统等不同操作系统的各个版本实现的不同权限类型控制的权限策略执行方案,同时h5网页权限行为控制sdk也包括有华为、小米等不同手机厂商对应的不同操作系统下实现的不同权限类型控制的权限策略执行方案。然后终端调用h5网页权限行为控制sdk检测到通过当前h5网页触发的权限行为请求,拦截该权限行为请求,然后对拦截的权限行为请求进行解析获取当前操作系统信息和当前应用程序信息,基于当前操作系统信息查找对应的目标权限控制接口。其中,拦截权限行为请求可以是通过执行预先设置好的权限行为拦截埋点进行拦截,不同的权限行为可以设置不同的拦截埋点,具体可以是使用重打包方案将埋点的代码片段注入到相应的位置中。比如,预先设置埋点的拦截入口可以是使用android webview(是android平台的一个非常重要的控件,主要是渲染和显示h5网页,并支持android与h5网页的交互等功能)的websettings(对webview进行配置和管理)类提供的方法进行拦截。也可以是使用app或者activity(与用户交互的接口)生命周期方法回调进行拦截。还可以是使用android webviewclient(帮助webview处理各种通知、请求事件的)类的方法回调进行拦截。
59.在一个具体的实施例中,如图4所示,为集成h5网页权限行为控制sdk的应用场景示意图,其中,该app中包含业务sdk对接层和业务sdk实现该app的业务功能,业务sdk中包含h5网页权限行为控制sdk的实现及相关逻辑。当通过该app的业务功能运行h5网页时,使用h5网页权限行为控制sdk进行权限行为的控制。即可以将h5网页权限行为控制sdk和业务需求进行合并处理,得到业务sdk,然后可以将业务sdk提供给app进行使用。因为app的需求是多样化的,通过提供业务sdk对接层可以保证不修改业务sdk提供的接口,同时又可以视频app的需求多样化。即通过将h5网页权限行为控制sdk提供给业务sdk或者app应用程序集成使用,让业务sdk专注业务需求,h5网页权限行为控制的相关逻辑通过h5网页权限行为控制sdk进行处理。
60.在上述实施例中,通过h5网页权限行为控制sdk集成到不同的业务sdk中实现对h5网页行为权限进行控制,提高了h5网页权限行为控制的适配性和通用性。
61.在一个实施例中,如图5所示,在步骤202之前,即在检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口之前,还包括:
62.步骤502,检测到触发权限控制策略信息拉取事件,响应权限控制策略信息拉取事件向服务器发送权限控制策略信息拉取请求,权限控制策略信息拉取请求携带有用户标识。
63.其中,权限控制策略信息是用于进行h5网页行为权限控制的信息。该权限控制策略信息包括权限类型、权限控制策略和应用程序信息。用户标识用于唯一标识用户。权限控制策略信息拉取事件用于拉取权限控制策略信息。
64.具体地,终端检测到触发权限控制策略信息拉取事件,其中,终端可以按照预设时间间隔进行检测,当未检测到触发权限控制策略信息拉取事件时,不做处理。当检测到触发权限控制策略信息拉取事件时,响应权限控制策略信息拉取事件向服务器发送权限控制策略信息拉取请求,权限控制策略信息拉取请求携带有用户标识。
65.步骤504,获取服务器返回的字节流数据,解析所述字节流数据得到权限控制策略
信息,权限控制策略信息是服务器根据用户标识查找到的。
66.具体地,服务器中预先设置好了用户标识和对应的权限控制策略信息,当服务器接收到终端发送的权限控制策略信息拉取请求时,根据用户标识查找到对应的权限控制策略信息,然后将权限控制策略信息通过字节流的数据格式传输到终端,终端获取到服务器返回的字节流数据,然后解析字节流数据得到权限控制策略信息。
67.在一个实施例中,权限控制策略信息拉取请求携带有终端的设备信息,服务器接收到权限控制策略信息拉取请求时,可以根据终端的设备信息查找到对应的权限控制策略信息。服务器预先设置好的不同的终端设备对应的权限控制策略信息。然后将查找到的权限控制策略信息返回给终端。
68.步骤506,获取当前应用程序对应的存储权限,基于存储权限按照预设存储格式将权限控制策略信息进行存储,权限控制策略信息包括权限类型、权限控制策略和应用程序信息。
69.其中,存储权限是指当前应用程序在终端中存储数据的权限,包括已授予存储权限和未授予存储,通过当前操作系统申请当前应用程序的存储权限。预设存储格式是指预先设置好的存储权限控制策略信息的数据格式。
70.具体地,终端获取到当前应用程序对应的存储权限。根据存储权限按照预设存储格式将权限控制策略信息进行存储,不同的存储权限有不同的预设存储格式和不同的存储方式。比如,当已授予当前应用程序存储权限时,可以将权限控制策略信息存储到存储空间中,也可以直接将权限控制策略信息存储到缓存中。当未授予当前应用程序存储权限时,可以将权限控制策略信息存储到当前应用程序的私有存储空间中。
71.在一个具体的实施例中,权限控制策略信息包括的字段可以是如下表1所示:
72.表1权限控制策略信息字段表
73.字段名含义policyid权限策略的唯一标识,服务端自动生成apppkgname应用包名(权限策略生效的对象)appversionname应用版本名appversioncode应用版本号policycontentkey权限类型的唯一标识policycontentvalue权限策略的执行方案
74.其中,每个应用程序都具有一个权限策略总标识,使用policyid字段进行记录,是服务器自动生成的。apppkgname用于记录应用程序的安装包名称。appversionname用于记录应用程序的版本名称。appversioncode字段用于记录应用程序的版本编号,apppkgname、appversionname和appversioncode一起用于唯一标识对应的应用程序,即是权限策略总标识对应的所有权限策略只对该应用程序生效。policycontentkey字段用于记录权限类型的唯一标识,权限类型的唯一标识用于唯一标识权限类型,不同的权限类型有不同的标识。policycontentvalue用于记录权限策略的具体执行方案,每个权限类型都有对应的权限策略的具体执行方案。在一个实施例中,在获取到权限类型时,与policycontentkey字段的内容进行匹配,当权限类型匹配一致时,使用型匹配一致权限类型对应的policycontentvalue设定的权限策略进行执行。
75.在上述实施例中,终端当检测到触发权限控制策略信息拉取事件时,从服务器中拉取权限控制策略信息并进行存储,方便后续的使用。
76.在一个实施例中,如图6所示,步骤502,即检测到触发权限控制策略信息拉取事件,包括:
77.步骤602,按照预设第一时间间隔监控网络状态,当网络状态从第一网络状态变化为第二网络状态时,触发权限控制策略信息拉取事件。或
78.其中,网络状态用于表示终端当前网络的状态,包括网络未连接状态和网络已连接状态,该网络可以是2g(第二代手机通信技术规格)网络、3g(第三代移动通信技术)网络、4g(第四代移动通信技术)网络或者5g网络等。预设第一时间间隔是预先设置好的监控网络信号的时间间隔,比如可以预先设置第一时间间隔为1小时。第一网络状态是指网络未连接状态。第二网络状态是指网络已连接状态。
79.具体地,终端按照预设第一时间间隔监控网络状态,当检测到网络状态从网络未连接状态变化为网络已连接状态时,触发权限控制策略信息拉取事件。比如,终端每间隔1个小时检测网络状态,当检测到网络状态未发生变化时,不做处理,当检测到网络状态从网络未连接状态变化为网络已连接状态时,触发权限控制策略信息拉取事件。比如,检测到网络状态从5g网络未连接变化为5g网络连接时,触发权限控制策略信息拉取事件从服务器拉取到权限控制策略信息。又比如,检测到网络状态从4g网络未连接变化为4g网络连接时,触发权限控制策略信息拉取事件从服务器拉取到权限控制策略信息。在一个实施例中,也可以实时监控网络状态,当检测到网络状态从网络未连接状态变化为网络已连接状态时,触发权限控制策略信息拉取事件。
80.步骤604,按照预设第二时间间隔监控屏幕状态,当屏幕状态从第一屏幕状态变换为第二屏幕状态时,触发权限控制策略信息拉取事件。或
81.其中,第二时间间隔是指预先设置好的时间间隔,该第二时间间隔可以与第一时间间隔相同,也可以不同。屏幕状态是指终端屏幕处于的亮度状态,第一屏幕状态是指屏幕处于的第一种亮度状态,该第一屏幕状态可以是屏幕处于黑屏状态,也可以是屏幕处于低亮度状态。第二屏幕状态是指屏幕处于的第二种亮度状态,该第二屏幕状态可以是屏幕处于正常使用的亮度状态,也可以是屏幕处于高亮度状态。
82.具体地,或者终端也可以按照第二时间间隔监控屏幕状态,当屏幕状态从第一屏幕状态变换为第二屏幕状态时,触发权限控制策略信息拉取事件,比如,可以当屏幕状态从黑屏状态变化为正常使用的亮度状态时,即屏幕由黑变亮时,触发权限控制策略信息拉取事件。也可以是当屏幕状态直接从低亮度状态变化为高亮度状态时,触发权限控制策略信息拉取事件。在一个实施例中,也可以实时监控屏幕状态,当屏幕状态从第一屏幕状态变换为第二屏幕状态时,触发权限控制策略信息拉取事件。
83.步骤606,当调用权限控制初始化接口初始化时,触发权限控制策略信息拉取事件。
84.其中,权限控制初始化接口用于在应用程序启动时创建h5网页权限行为控制sdk的所需要的环境以及开启异常线程拉取权限控制策略信息。
85.具体地,或者终端在启动当前应用程序,调用权限控制初始化接口进行初始化时,创建h5网页权限行为控制sdk的所需要的运行环境同时触发权限控制策略信息拉取事件,
即调用异常线程向服务器发送权限控制策略信息拉取请求,从而获取到权限控制策略信息。即在当前应用程序启动时触发权限控制策略信息拉取事件从服务器拉取权限控制策略信息。
86.在上述实施例中,通过在不同的条件下触发权限控制策略信息拉取事件进行权限控制策略信息的获取,从而可以及时获取到最新的权限控制策略信息,从而可以更加方便的对h5网页的权限行为进行控制。
87.在一个实施例中,步骤506,即基于存储权限按照预设存储格式将权限控制策略信息进行存储,包括:
88.将权限控制策略信息按照基本数据类型存储格式存储到内存中。
89.其中,基本数据类型是指数据存储的基本类型,包括int类型、float类型,boolean类型、list列表类型以及map类型等等。
90.具体地,服务器可以直接将权限控制策略信息按照基本数据类型存储格式存储到内存中。比如,可以以list列表的形式存储到终端缓存中,方便后的使用。也可以以map类型的形式存储到终端内存中。还可以以int类型将权限控制策略信息存储到内存中。
91.或者将权限控制策略信息转换为二进制字节流,当存储权限为未授权存储时,将二进制字节流存储到当前应用程序私有存储位置,当存储权限为已授权存储时,将二进制字节流存储到存储空间中。
92.其中,二进制字节流是指使用jce协议将权限控制策略信息生成的二进制字节流。jce是一种二进制、支持字段动态增加、代码自动生成、跨平台的通信、数据传输协议。jce协议使用ttlv(tag-type-length-value,标签-类型-长度-值)进行编码,编码数据由头信息和实际数据两个部分组成。私有存储位置是指当前应用程序的私有目录位置,比如当前应用程序安装包所在的存储位置。存储空间是指终端自身的存储空间,比如手机中的sd卡(sd存储卡是一种基于半导体快闪记忆器的新一代记忆设备)。终端也可以将权限控制策略信息转换为自定义的存储格式进行存储。
93.具体地,终端获取到使用jce协议将权限控制策略信息转换为二进制字节流,然后查找当前应用程序的存储权限,当存储权限为未授权存储时,将二进制字节流以文件方式存储到当前应用程序私有存储位置。当存储权限为已授权存储时,将二进制字节流以文件方式存储到存储空间中。在一个具体的实施例中,存储权限控制策略信息的文件名称后缀是以dat命名。比如,可以以permission.dat为名称的文件将权限控制策略信息进行存储。
94.在上述实施例中,将权限控制策略信息基于存储权限使用预设存储格式存储到不同的位置处,方便后续读取权限控制策略信息进行使用,可以满足不同的应用场景需求。
95.在一个实施例中,在步骤202之前,在检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口之前,还包括:
96.接收服务器根据用户标识或设备信息推送的字节流数据,解析所述字节流数据得到所述权限控制策略信息,并将权限控制策略信息存储。
97.具体地,设备信息用于表明终端设备的具体信息,包括终端设备的型号、品牌、主板、cpu型号、唯一标识码等等。服务器在与终端建立网络连接后,可以主动向终端推送权限控制策略信息。可以按照预先设置好的时间间隔进行推送。服务器可以按照预先设置好的
用户标识或者设备信息与权限控制策略信息的绑定关系,将权限控制策略信息推送到对应的设备信息或者用户标识中。服务器也可以按照发送历史权限控制策略信息的记录将需要推送的权限控制策略信息进行推送。终端接收到服务器根据用户标识或设备信息推送的字节流数据,解析字节流数据得到权限控制策略信息,并将获取到的权限控制策略信息进行存储。比如,服务器中向华为手机推送划华为手机对应的权限控制策略信息,可以向苹果手机推送苹果手机对应的权限控制策略信息等等。
98.在一个实施例中,当权限控制策略信息更新后,将更新后的权限控制策略信息推送到用户标识对应的终端中,其中,权限控制策略信息更新可以是指权限控制策略信息增加、删除、修改等等。管理人员可以将服务器中存储的权限控制策略信息通过权限管理平台进行更新。比如,管理人员可以在权限控制策略信息新增应用程序对应的权限类型以及权限策略,即管理人员通过管理终端将新增的应用程序对应的权限类型以及权限策略新增到h5网页权限行为控制sdk中。也可以将新增的应用程序对应的权限类型以及权限策略上传到服务器中,服务器使用新增的应用程序对应的权限类型以及权限策略对保存的h5网页权限行为控制sdk进行更新。比如,管理人员可以对权限控制策略信息中的权限类型和对应的权限策略进行删除。管理人员可以通过管理终端向服务器发送删除的权限类型标识和对应的权限策略标识,服务器根据删除的权限类型标识和对应的权限策略标识将h5网页权限行为控制sdk中匹配的权限类型以及权限策略进行删除。比如,管理人员还可对权限控制策略信息中的权限类型或者权限策略进行修改。管理人员可以通过管理终端将修改后的权限策略上传到服务器中,服务器将h5网页权限行为控制sdk中相同权限类型对应的权限策略替换为修改后的权限策略。
99.在上述实施例中,终端可以获取到服务器推送的权限控制策略信息,并将权限控制策略信息存储,提高了获取权限控制策略信息的便利性。
100.在一个具体的实施例中,如图7所示,获取权限控制策略信息并存储的流程示意图。具体来说:权限控制策略信息可以在h5网页控制后台生成,并且在服务器端管理人员可以在h5网页控制后台通过权限管理平台对权限控制策略信息进行管理,比如,对权限控制策略信息进行增加、更新以及删除处理等等,还可以将用户或者终端设备与权限控制策略信息进行绑定。然后服务器端可以通过权限控制策略服务平台进行权限控制策略信息的推送服务、拉取服务以及数据管理服务。其中,推送服务是将权限控制策略信息推送到终端中,拉取服务是指终端在拉取权限控制策略信息时,将权限控制策略信息返回终端,数据管理服务是指记录推送信息和拉取信息,比如推送或者拉取的用户对象、推送的权限控制策略信息等等。手机中通h5网页权限行为控制sdk进行权限控制策略信息的拉取,具体来说,在h5网页权限行为控制sdk初始化后,通过检测权限控制服务初始化或者手机连接上网络或者手机屏幕亮起时,会主动通过h5网页权限行为控制sdk进行权限控制策略信息的拉取,即从服务器中拉取权限控制策略信息,将拉取的权限控制策略信息解析,然后将解析后的权限控制策略信息按照应用程序的存储权限以预设的存储格式存储手机内存或者手机存储空间中。并且,服务器端也可以在与手机建立网络连接后,主动推送权限控制策略信息到手机中,然后按照应用程序的存储权限以预设的存储格式存储手机内存或者手机存储空间中。
101.在一个实施例中,步骤202,即检测到通过当前h5网页触发的权限行为请求,拦截
权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,包括步骤:
102.检测到通过当前h5网页触发的权限行为请求,基于权限行为请求调用安全性验证接口,当通过安全性验证接口进行身份安全验证通过时,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口。
103.具体地,安全性验证接口用于进行身份安全的校验,即终端检测到通过当前h5网页触发的权限行为请求,基于权限行为请求调用安全性验证接口,通过安全性验证接口获取到当前终端的身份信息,并与预设的安全身份信息进行匹配,当匹配一致时,安全验证通过。其中,当前终端的身份信息可以是终端设备信息,也可以是用户输入的用户信息等等,然后当通过安全性验证接口进行安全验证通过时,获取当前操作系统信息和当前应用程序信息,按照预先设置好的操作系统和权限控制接口的对应关系基于当前操作系统信息查找对应的目标权限控制接口。
104.在一个具体的实施例中,可以使用license sdk对h5网页权限行为控制sdk的对外接口进行校验保护,业务sdk仅允许获取license授权的app使用,防止未授权app在没有获取license的情况下使用业务sdk。在调用h5网页权限行为控制sdk时,需要通过license sdk的校验,即通过license sdk对使用h5网页权限行为控制sdk的时间、用户数量、终端ip地址进行检测,当检测是在授权的时间内,授权的用户、授权的终端ip地址在使用h5网页权限行为控制sdk时,校验通过,即安全验证通过,则可以调用h5网页权限行为控制sdk进行对h5网页的权限行为进行控制。在一个实施例中,在保护内部逻辑的情况下对h5网页权限行为控制sdk的代码进行混淆,然后将混淆代码后的h5网页权限行为控制sdk提供给业务sdk,业务sdk和混淆代码后的h5网页权限行为控制sdk一起合并打包,得到aar包,aar(android archive)包是一个android库项目的二进制归档文件,将该aar包提供给应用程序进行使用。
105.在上述实施例中,通过使用安全性验证接口进行安全性校验之后进行h5网页权限行为的控制,保证了h5网页权限行为控制的安全性。
106.在一个实施例中,在步骤206之后,即在基于当前应用程序信息查找目标权限类型对应的目标权限控制策略之后,还包括:
107.当未查找到目标权限控制策略时,获取当前操作系统权限执行策略,按照当前操作系统权限执行策略在当前h5网页中进行权限行为控制。
108.具体地,当前操作系统权限执行策略是指当前操作系统本身定义的权限执行策略,比如,可以是操作系统默认该目标权限类型对应的权限执行策略。终端在未查找到目标权限控制策略,说明该目标权限类型并未设置有对应的权限控制策略,此时,可以获取到当前操作系统权限执行策略,按照当前操作系统权限执行策略对当前h5网页进行权限行为控制,从而避免了无法对h5网页行为进行权限控制,保证了能够正常对h5网页行为进行权限控制。
109.在一个实施例中,当基于目标权限行为类型未查找到匹配的目标权限类型时,直接获取当前操作系统权限执行策略,按照当前操作系统权限执行策略在当前h5网页中进行权限行为控制。
110.在一个实施例中,步骤206,即按照目标权限控制策略在当前h5网页中进行权限行为控制,包括步骤:
111.显示权限行为处理应用选择界面,检测到通过权限行为处理应用选择界面触发目标权限行为处理应用的选择事件,响应选择事件展示权限行为授权页面。
112.其中,权限行为处理应用用于在权限行为授权后进行权限行为处理。权限行为处理应用选择界面用于展示权限行为处理应用。比如,可以在h5网页弹窗展示。权限行为授权页面是指用户对权限行为进行授权的页面。目标权限行为处理应用使用选择的对当前h5网页的权限行为进行处理的应用。选择事件是指用户选择权限行为处理应用的事件,可以通过点击权限行为处理应用图标的方式进行选择,也可以通过按压选项按钮的方式进行选择等等。
113.具体地,终端执行目标权限控制策略显示权限行为处理应用选择界面,该权限行为处理应用选择界面中显示有各个待选择的权限行为处理应用。在一个实施例中,也可以用弹窗显示权限行为处理应用,也可以用其他方式显示权限行为处理应用,比如,以列表形式显示。当终端检测到通过权限行为处理应用选择界面触发目标权限行为处理应用的选择事件,响应选择事件展示权限行为授权页面,通过网络行为授权页面获取到对网络行为的授权。也可以响应选择事件展示申请授权的对话弹窗,通过对话弹窗来进行权限行为授权。
114.当通过权限行为授权页面接收授权指令时,启动目标权限行为处理应用。
115.具体地,用户可以通过权限行为授权页面进行授权处理,比如,通过点击权限行为授权页面中的授权按钮进行授权,终端在通过权限行为授权页面接收到授权指令时,启动目标权限行为处理应用进行权限行为处理。比如,获取到授权读取存储数据的权限时,可以启动图片应用来上传图片。当通过权限行为授权页面未接收到授权指令时,进行权限行为未授权提示,可以弹窗进行提示,也可以使用通知消息进行提示,也可以使用邮件进行提示、还可以使用短信进行提示等等。用户也可以通过权限行为授权页面进行禁止授权处理,比如,通过点击权限行为授权页面中的始终禁止按钮进行权限始终禁止,即禁止手改权限行为相应的权限。
116.在一个实施例中,终端执行目标权限控制策略显示权限行为处理应用选择界面,检测到通过权限行为处理应用选择界面触发目标权限行为处理应用的选择事件显示权限禁止提示弹窗,该权限禁止提示弹窗用于提示该目标权限类型是处于禁止授权的状态下。然后当检测到触发返回h5网页的操作时,展示h5网页。或者当检测到触发权限修改的操作时,显示该目标权限类型的授权状态修改页面,检测到触发修改完成操作时,获取到修改后的目标权限类型对应的权限状态,对保存的目标权限类型对应的权限状态进行修改并返回到h5网页。其中,权限状态是指该目标权限类型对应的系统权限的状态,包括已授权状态和未授权状态等等。
117.在一个实施例中,终端执行目标权限控制策略显示权限行为处理应用选择界面,检测到通过权限行为处理应用选择界面触发目标权限行为处理应用的选择事件跳转到身份认证页面,在通过身份认证页面进行身份认证通过时,展示授权申请对话页面,通过授权申请对话页面获取到授权信息后,启动目标权限行为处理应用。
118.在一个具体的实施例中,如图8所示,为一个h5网页的示意图,该h5网页是使用chrome浏览器打开用于反馈问题的h5网页。在该h5网页中当用户点击上传图片的图标时,
终端需要用户授权后才能读取手机中存储的数据。此时,传统技术实现如图9所示,为传统技术申请授权对话框示意图。传统技术即chrome浏览器中未集成h5网页权限行为控制sdk,此传统技术当用户点击上传图片的图标时会直接调用android系统的存储权限的申请对话框。通过该授权申请对话框来获取到用户的始终允许授权后,才能进行图片的上传。而本技术中,如图10所示,为权限行为处理应用选择界面的示意图。该图10中通过安全工作空间h5容器打开同一个h5网页,该安全工作空间h5容器提供h5网页运行的安全环境。即当用户点击该h5网页上传图片的图标时,在执行目标权限控制策略时先显示图片应用选择界面。当用户在图片应用选择界面中点击图片应用按钮时,再展示授权页面来获取到用户的始终允许授权,启动用户选择的图片应用进行图片的选取上传。
119.在上述实施例中,通过选择权限行为处理应用后再进行授权,能够提高权限行为请求处理的安全性。
120.在一个实施例中,如图11所示,步骤206,即基于当前应用程序信息查找目标权限类型对应的目标权限控制策略,包括:
121.步骤1102,获取加密的权限控制策略信息和对应的数字签名,基于数字签名对加密的权限控制策略信息进行完整性效验,当效验通过时,获取解密密钥。
122.其中,加密的权限控制策略信息是使用加密算法对权限控制策略信息进行加密后得到的。数字签名是指使用数字签名算法对加密的权限控制策略信息进行数字签名后得到的。
123.具体地,终端获取到加密的权限控制策略信息,即权限控制策略信息是加密后存储到终端中的,终端在需要使用时获取到加密的权限控制策略信息和对应的数字签名,使用数字签名对加密的权限控制策略信息进行完整性效验,即计算加密的权限控制策略信息的哈希值,使用数字签名解密密钥对数字签名进行解密得到解密后的哈希值,将解密后哈希值与计算得到的哈希值进行比较,当计算得到的该哈希值与解密后哈希值一致时,数字签名效验通过,当不一致时,说明权限控制策略信息被篡改,效验未通过。终端在数字签名效验通过时,获取到解密密钥。其中,解密密钥可以是根据用户的密码生成的,该用户的密码可以是用户登录该应用程序时使用的账号密码。解密密钥还可以是根据终端设备唯一标识码生成的,该终端设备唯一标识码用于唯一标识该终端设备。
124.步骤1104,使用解密密钥对加密的权限控制策略信息进行解密,得到权限控制策略信息,权限控制策略信息包括应用程序信息、权限类型和权限控制策略。
125.具体地,终端使用解密密钥对加密的权限控制策略信息进行解密,得到权限控制策略信息,权限控制策略信息包括应用程序信息、应用程序信息对应的权限类型和权限类型对应的权限控制策略。
126.在一个实施例中,终端可以先获取到解密密钥,使用解密密钥对加密的权限控制策略信息进行解密,得到解密后的权限控制策略信息,然后计算解密后的权限控制策略信息的哈希值,当解密后的权限控制策略信息的哈希值与数字签名中的哈希值一致时,数字签名效验通过。
127.步骤1106,在权限控制策略信息中匹配当前应用程序信息,当匹配成功时,从权限控制策略信息中获取到匹配成功的应用程序信息对应的权限类型和权限控制策略。
128.具体地,终端在权限控制策略信息中查找与当前应用程序信息一致的应用程序信
息,当查找到一致的应用程序信息时,匹配成功,此时从权限控制策略信息中获取到匹配成功的应用程序信息对应的权限类型和权限控制策略。
129.步骤1108,在匹配成功的应用程序信息对应的权限类型中匹配目标权限类型,当匹配成功时,将匹配成功的权限类型对应的权限控制策略作为目标权限控制策略。
130.具体地,终端在匹配成功的应用程序信息对应的权限类型中查找目标权限类型,当查找到一致的目标权限类型时,匹配成功,获取到匹配成功的权限类型对应的权限控制策略,就得到了目标权限控制策略。在一个具体的实施例中,服务器可以使用aes(advanced encryption standard,高级加密标准)算法加密权限控制策略信息,并使用rsa(rsa algorithm)加密算法对加密后的权限控制策略信息进行签名实现,然后将加密权的限控制策略信息和数字签名推送到终端中。
131.在上述实施例中,通过将权限控制策略信息进行数字签名验证,保证了权限控制策略信息未被篡改,并将加密的权限控制策略信息存储在终端中,在使用时将加密的权限控制策略信息进行解密后进行使用,防止权限控制策略信息暴露,保证了权限控制策略信息的安全性。
132.在一个实施例中,网页权限行为控制方法还包括步骤:
133.当当前h5网页加载时,获取预设当前h5网页权限信息,根据预设当前h5网页权限信息更新当前h5网页对应的权限,得到页面目标权限。
134.其中,当前h5网页权限信息是指预先设置好的当前h5网页各种页面行为对应的权限策略。页面目标权限是指在h5网页中设置好的页面行为对应的权限策略,不同的页面行为可以设置不同的权限策略。
135.具体地,终端在h5网页进行加载时,可以获取到预设当前h5网页权限信息,根据该预设当前h5网页权限信息更新当前h5网页对应的权限,得到页面目标权限。比如,可以使用预设当前h5网页权限信息中的权限策略去设置websettings中各种页面行为的权限设置。
136.当检测到当前h5网页触发的权限行为请求时,按照页面目标权限对当前h5网页进行权限行为控制。
137.具体地,终端当检测到当前h5网页触发的权限行为请求时,通过预先设置好的埋点对权限行为请求进行拦截,并解析得到权限行为请求的内容,根据权限行为请求的内容获取到目标权限类型,从页面目标权限中查找到目标权限类型对应的权限策略,按照该权限策略进行执行从而在当前h5网页中进行权限行为控制。在一个具体的实施例中,可以通过app/activity生命周期预埋点对权限行为请求进行拦截。
138.在上述实施例中,通过更新好的页面目标权限对当前h5网页进行权限行为控制,提高了网页权限行为控制的效率。
139.在一个具体的实施例中,如图12所示,网页权限行为控制方法包括以下步骤:
140.步骤1202,当加载当前h5网页时,通过业务sdk对接层调用业务sdk建立h5网页运行环境,在h5网页运行环境中展示当前h5网页;
141.步骤1204,通过h5网页权限行为控制sdk检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口。
142.步骤1206,通过h5网页权限行为控制sdk调用当前权限控制接口确定权限行为请
求对应的目标权限行为类型,基于目标权限行为类型确定匹配的目标权限类型。
143.步骤1208,通过h5网页权限行为控制sdk获取加密的权限控制策略信息和对应的数字签名,基于数字签名对加密的权限控制策略信息进行完整性效验,当效验通过时,获取解密密钥。
144.步骤1210,通过h5网页权限行为控制sdk使用解密密钥对加密的权限控制策略信息进行解密,得到权限控制策略信息,权限控制策略信息包括应用程序信息、权限类型和权限控制策略。
145.步骤1212,通过h5网页权限行为控制sdk在权限控制策略信息中匹配当前应用程序信息,当匹配成功时,从权限控制策略信息中获取到匹配成功的应用程序信息对应的权限类型和权限控制策略。
146.步骤1214,通过h5网页权限行为控制sdk在匹配成功的应用程序信息对应的权限类型中匹配目标权限类型,当匹配成功时,将匹配成功的权限类型对应的权限控制策略作为目标权限控制策略。
147.步骤1216,通过h5网页权限行为控制sdk执行目标权限控制策略显示权限行为处理应用选择界面,检测到通过权限行为处理应用选择界面触发目标权限行为处理应用的选择事件,响应选择事件展示权限行为授权页面,当通过权限行为授权页面接收授权指令时,启动目标权限行为处理应用。
148.在该实施例中,在步骤1202之前,还包括步骤:
149.按照预设第一时间间隔监控网络状态,当网络状态从第一网络状态变化为第二网络状态时,触发权限控制策略信息拉取事件。或者按照预设第二时间间隔监控屏幕状态,当屏幕状态从第一屏幕状态变换为第二屏幕状态时,触发权限控制策略信息拉取事件。或者当调用权限控制初始化接口初始化时,触发权限控制策略信息拉取事件,响应权限控制策略信息拉取事件向服务器发送权限控制策略信息拉取请求,权限控制策略信息拉取请求携带有用户标识。获取服务器返回的字节流数据,解析字节流数据得到权限控制策略信息,权限控制策略信息是服务器根据用户标识查找到的;获取当前应用程序对应的存储权限,将权限控制策略信息按照基本数据类型存储格式存储到内存中。或者将权限控制策略信息转换为二进制字节流,当存储权限为未授权存储时,将二进制字节流存储到当前应用程序私有存储位置,当存储权限为已授权存储时,将二进制字节流存储到存储空间中。权限控制策略信息包括权限类型、权限控制策略和应用程序信息。
150.本技术还提供一种应用场景,该应用场景应用上述的网页权限行为控制方法。具体地,该网页权限行为控制方法在该应用场景的应用如下:
151.在智能手机微信应用程序中,该智能手机微信应用程序中集成了h5网页权限行为控制sdk。如图13所示,为h5网页权限行为控制sdk的架构示意图,该h5网页权限行为控制sdk包括接口层和服务实现层,该接口层包括初始化接口、权限对外接口以及服务注入接口。其中,初始化接口的作用是创建h5网页权限行为控制sdk的所需要的运行环境以及开启异常线程从服务器中拉取权限策略信息,该初始化接口是在微信应用程序启动时进行调用。服务注入接口用于接入自定义的服务。比如,通过服务注入接口注入统计数据的服务,该服务注入接口是在微信应用程序启动时进行调用。权限对外接口用于对页面权限行为进行拦截识别等处理。服务实现层包括对接口层的实现和权限策略信息的拉取、解析和存储,
并且还实现对权限策略的执行和执行结果的统计上报等。具体来说:
152.如图14所示,为h5网页权限行为控制sdk进行权限控制的流程示意图,其中,当用户在微信应用中通过h5网页访问地址url进行页面访问时,展示h5网页,当检测到当前h5网页触发的权限行为请求时,获取当前操作系统信息和当前应用程序信息,基于当前操作系统信息查找对应的目标权限控制接口,h5网页权限行为控制sdk通过调用目标权限控制接口拦截权限行为请求,并解析拦截到的信息,得到目标权限行为类型。比如,通过监听android系统提供的长按网页的方法回调,通过webview.hittestresult.gettype()方法获取到长按的内容,内容包括有纯文字、带有超链接的文字、手机号码、email地址、地图、带有链接的图片等等,然后根据当前长按的内容“手机号码”确定权限行为类型为“手机号码类型”,根据该权限行为类型确定匹配的目标权限类型为“拨打电话号码”。此时,在权限策略信息中查找微信应用“拨打电话号码”对应的权限控制策略,按照该权限控制策略进行执行。
153.在另一个实施例中,h5网页权限行为控制sdk通过调用目标权限控制接口拦截权限行为请求,并解析拦截到的信息,得到目标权限行为类型。比如,可以通过webviewclient.shouldoverrideurlloading()方法的回调中的参数来获取权限行为类型。比如,该参数具体可以是以“http://”和“https://”为开头用于网络请求的url,有以“intent://”为开头用于打开android应用的url,有以“sms://”为开头用于打开短信应用的url,有以“geo:0,0?q=”为开头用于打开地图应用的url,有以“mailto:”为开头用于打开电子邮箱应用的url,有以“tel:”为开头用于打开电话应用的url。根据该参数的具体内容获取到对应的权限行为类型,然后根据页面行为类型确定匹配的权限类型。比如,参数的具体内容可以是以“tel:”开头的url,此时,得到权限行为类型为“点击电话号码”,根据该权限行为类型查找匹配的权限类型为“拨打电话号码”。当查找到匹配的权限类型“拨打电话号码”时,在权限策略信息中查找微信应用“拨打电话号码”对应的权限控制策略,按照该权限控制策略的执行方案进行执行。当未查找到匹配的权限类型“拨打电话号码”时,获取到操作系统默认的“拨打电话号码”的执行策略进行执行。
154.在另一个实施例中,当用户在微信应用中通过h5网页访问地址url进行页面访问时,展示h5网页,同时获取到预设当前h5网页权限信息,根据预设当前h5网页权限信息更新当前h5网页对应的权限,得到页面目标权限。当检测到当前h5网页触发的权限行为请求时,通过app/activity生命周期预先设置好的埋点拦截权限行为请求,解析拦截到的权限行为请求,识别权限类型,然后按照设置好的页面目标权限中权限类型对应的权限控制策略在当前h5网页中进行权限行为控制。
155.应该理解的是,虽然图2、图3、图5、图6、图11以及图12的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3、图5、图6、图11以及图12中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
156.在一个实施例中,如图15所示,提供了一种网页权限行为控制装置1500,该装置可
以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:接口查找模块1502、类型确定模块1504和权限控制模块1506,其中:
157.接口查找模块1502,用于检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口,对应关系是指各个操作系统信息与权限控制接口的对应关系。
158.类型确定模块1504,用于调用当前权限控制接口确定权限行为请求对应的目标权限行为类型,基于目标权限行为类型确定匹配的目标权限类型。
159.权限控制模块1506,用于基于当前应用程序信息查找目标权限类型对应的目标权限控制策略,按照目标权限控制策略在当前h5网页中进行权限行为控制。
160.在一个实施例中,当前应用程序信息对应的当前应用程序包括业务sdk对接层和业务sdk,业务sdk包括h5网页权限行为控制sdk,h5网页权限行为控制sdk用于集成到不同的业务sdk中在h5网页中进行权限行为控制;
161.接口查找模块1502,包括:
162.页面展示单元,用于当加载当前h5网页时,通过业务sdk对接层调用业务sdk建立h5网页运行环境,在h5网页运行环境中展示当前h5网页;
163.接口查找单元,用于通过h5网页权限行为控制sdk检测到通过当前h5网页触发的权限行为请求,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口。
164.在一个实施例中,网页权限行为控制装置1500,还包括:
165.请求发送模块,用于检测到触发权限控制策略信息拉取事件,响应权限控制策略信息拉取事件向服务器发送权限控制策略信息拉取请求,权限控制策略信息拉取请求携带有用户标识;
166.信息获取模块,用于获取服务器返回的字节流数据,解析字节流数据得到权限控制策略信息,权限控制策略信息是服务器根据用户标识查找到的;
167.存储模块,用于获取当前应用程序对应的存储权限,基于存储权限按照预设存储格式将权限控制策略信息进行存储,权限控制策略信息包括权限类型、权限控制策略和应用程序信息。
168.在一个实施例中,请求发送模块,包括:
169.网络监控模块,用于按照预设第一时间间隔监控网络状态,当网络状态从第一网络状态变化为第二网络状态时,触发权限控制策略信息拉取事件;或
170.屏幕监控模块,用于按照预设第二时间间隔监控屏幕状态,当屏幕状态从第一屏幕状态变换为第二屏幕状态时,触发权限控制策略信息拉取事件;或
171.初始化模块,用于当调用权限控制初始化接口初始化时,触发权限控制策略信息拉取事件。
172.在一个实施例中,存储模块还用于将权限控制策略信息按照基本数据类型存储格式存储到内存中;或将权限控制策略信息转换为二进制字节流,当存储权限为未授权存储时,将二进制字节流存储到当前应用程序私有存储位置,当存储权限为已授权存储时,将二进制字节流存储到存储空间中。
173.在一个实施例中,网页权限行为控制装置1500,还包括:
174.推送信息获取模块,用于接收服务器根据用户标识或设备信息推送的字节流数据,解析推送的字节流数据得到权限控制策略信息,并将权限控制策略信息存储。
175.在一个实施例中,接口查找模块1502还用于检测到通过当前h5网页触发的权限行为请求,基于权限行为请求调用安全性验证接口,当通过安全性验证接口进行身份安全验证通过时,拦截权限行为请求获取当前操作系统信息和当前应用程序信息,基于已保存的对应关系查找当前操作系统信息对应的目标权限控制接口。
176.在一个实施例中,网页权限行为控制装置1500,还包括:
177.系统执行模块,用于当未查找到目标权限控制策略时,获取当前操作系统权限执行策略,按照当前操作系统权限执行策略在当前h5网页中进行权限行为控制。
178.在一个实施例中,权限控制模块1506还用于显示权限行为处理应用选择界面,检测到通过权限行为处理应用选择界面触发目标权限行为处理应用的选择事件,响应选择事件展示权限行为授权页面;当通过权限行为授权页面接收授权指令时,启动目标权限行为处理应用。
179.在一个实施例中,接口查找模块1502还用于获取加密的权限控制策略信息和对应的数字签名,基于数字签名对加密的权限控制策略信息进行完整性效验,当效验通过时,获取解密密钥;使用解密密钥对加密的权限控制策略信息进行解密,得到权限控制策略信息,权限控制策略信息包括应用程序信息、权限类型和权限控制策略;在权限控制策略信息中匹配当前应用程序信息,当匹配成功时,从权限控制策略信息中获取到匹配成功的应用程序信息对应的权限类型和权限控制策略;在匹配成功的应用程序信息对应的权限类型中匹配目标权限类型,当匹配成功时,将匹配成功的权限类型对应的权限控制策略作为目标权限控制策略。
180.在一个实施例中,网页权限行为控制装置1500,还包括:
181.权限更新模块,用于当当前h5网页加载时,获取预设当前h5网页权限信息,根据预设当前h5网页权限信息更新当前h5网页对应的权限,得到页面目标权限;
182.目标权限控制模块,用于当检测到当前h5网页触发的权限行为请求时,按照页面目标权限对当前h5网页进行权限行为控制。
183.关于网页权限行为控制装置的具体限定可以参见上文中对于网页权限行为控制方法的限定,在此不再赘述。上述网页权限行为控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
184.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现
一种网页权限行为控制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
185.本领域技术人员可以理解,图16中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
186.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
187.在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
188.在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
189.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
190.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
191.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1