资源访问控制方法、终端设备及计算机可读存储介质技术

技术编号:32431651 阅读:12 留言:0更新日期:2022-02-24 18:46
本申请实施例公开了一种资源访问控制方法、终端设备和计算机可读存储介质,该方法包括:终端设备中的应用程序通过WebView组件加载并显示与网页链接相关的网页页面;WebView组件接收网页页面的JsBridge调用请求后,Render模块向Browser模块发送JsBridge调用请求;Browser模块向应用程序发送发起JsBridge调用请求的网页的URL和JsBridge调用请求;应用程序根据URL和JsBridge调用请求,进行资源访问控制。本申请实施例通过WebView框架,将JsBridge调用请求的请求方页面URL传递给应用程序,提高了资源访问控制的准确性和实时性。提高了资源访问控制的准确性和实时性。提高了资源访问控制的准确性和实时性。

【技术实现步骤摘要】
资源访问控制方法、终端设备及计算机可读存储介质


[0001]本申请涉及终端
,尤其涉及一种资源访问控制方法、终端设备及计算机可读存储介质。

技术介绍

[0002]WebView是一种操作系统组件,其可以用于为应用程序提供网页展示能力和网页交互能力。基于WebView组件,可以开发混合模式移动应用(Hybrid App),混合模式移动应用中的WebView组件,和通常的浏览器一样,可以执行网络端的远程html/javascript代码。此外,混合模式移动应用可以通过一些机制(例如,JsBridge机制),为远程代码提供本地资源访问和操作能力,即网络端可以通过JsBridge等机制,访问和操作安装有混合模式移动应用的终端设备的本地资源。
[0003]JsBridge等机制可能会引入安全问题。比如,不可信或者恶意的网络资源在不受限的情况下,可以任意访问和操作终端设备本地资源,会导致本地资源被篡改或者被滥用。为此,出现了一些访问控制技术,以对网络端的交互行为进行管控,在保证业务能力完整的前提下,阻止恶意网络来源对本地资源的篡改或滥用等情况的出现。
[0004]现有的访问控制方式一般以白名单控制策略为主,但是,这些访问控制方式的准确性和实时性均较差。

技术实现思路

[0005]本申请实施例提供一种资源访问控制方法、终端设备及计算机可读存储介质,可以提高资源访问控制的准确性和实时性。
[0006]第一方面,本申请实施例提供一种资源访问控制方法,应用于终端设备,该终端设备包括应用程序和应用程序的WebView组件,该WebView组件包括Render模块和Browser模块。该方法可以包括:终端设备通过应用程序通过WebView组件获取网页链接,加载并显示与网页链接相关的网页页面;终端设备通过WebView组件接收网页页面的JsBridge调用请求,并通过Render模块向Browser模块发送JsBridge调用请求;终端设备通过Browser模块向应用程序发送统一资源定位符(Uniform Resource Locator,URL)和JsBridge调用请求,该URL为发起JsBridge调用请求的网页的URL;终端设备指示应用程序根据URL和JsBridge调用请求,进行资源访问控制。
[0007]本申请实施例中,通过WebView组件中的Browser模块,向应用程序传递JsBridge调用请求时,还传递发起该JsBridge调用请求的网页的URL,即传递请求方网页的URL,也即通过WebView框架,将每次JsBridge调用请求的请求方页面的URL,传递给应用程序,使得应用程序收到的URL的真实性和实时性更高,进而提高了资源访问控制的准确性和实时性。
[0008]具体应用中,Browser模块向应用程序传递请求方页面URL和JsBridge调用请求的实现方式可以有多种。
[0009]在一种实现方式中,在原来的JavaObeject接口中新增加一个参数,用于接收发起
JsBridge调用请求的页面的URL。基于此,Browser模块在转发JsBridge调用请求时,将请求方页面的URL作为一个参数加入到JsBridge调用请求中,使得JsBridge调用请求携带有请求方页面的URL,一并传递至应用程序。
[0010]也就是说,在第一方面的一些可能的实现方式中,终端设备通过Browser模块向应用程序发送统一资源定位符URL和JsBridge调用请求的过程可以包括:终端设备通过Browser模块调用应用程序的JavaObeject接口,向应用程序发送URL和JsBridge调用请求;其中,JavaObeject接口设置有用于接收URL的参数。
[0011]在另一种实现方式中,也可以在应用程序中新增加一个setUrl接口,用于接收请求方页面的URL。基于此,Browser模块在转发JsBridge调用请求之前,WebView组件会额外进行一次本地Jsbridge调用,以通过Browser模块调用setUrl接口,将请求方页面的URL传递给应用程序。然后,Browser模块再调用JavaObeject接口,将Jsbridge调用请求发送给应用程序。
[0012]也就是说,在第一方面的另一些可能的实现方式中,终端设备通过Browser模块向应用程序发送统一资源定位符URL和JsBridge调用请求的过程可以包括:终端设备通过Browser模块调用应用程序的setUrl接口,并通过setUrl接口向应用程序发送URL;终端设备通过Browser模块调用应用程序的JavaObeject接口,并通过所述JavaObeject接口向应用程序发送JsBridge调用请求。
[0013]在第一方面的一些可能的实现方式中,在终端设备通过Browser模块调用应用程序的setUrl接口,并通过所述setUrl接口向应用程序发送URL之前,该方法还可以包括:终端设备通过Browser模块判断应用程序是否已设置setUrl接口;若已设置setUrl接口,终端设备通过Browser模块执行调用应用程序的setUrl接口,并通过所述setUrl接口向应用程序发送URL的步骤。
[0014]在第一方面的一些可能的实现方式中,该网页页面包括顶层页面,或者包括顶层页面和内嵌页面;JsBridge调用请求包括由顶层页面发起的JsBridge调用请求,和/或,由内嵌页面发起的JsBridge调用请求。也就是说,JsBridge调用请求可以是由顶层页面发起,也可以是由内嵌页面发起。
[0015]在第一方面的一些可能的实现方式中,终端设备指示应用程序根据URL和JsBridge调用请求,进行资源访问控制的过程可以包括:
[0016]终端设备指示应用程序根据URL,判断URL是否在白名单中,或者根据URL和请求访问的资源类型,判断URL是否在白名单中;当URL不在白名单中,终端设备指示应用程序中断JsBridge调用请求,以拒绝网页页面访问终端设备的本地资源;当URL在白名单中,终端设备指示应用程序接受JsBridge调用请求,以允许网页页面访问终端设备的本地资源。
[0017]第二方面,本申请实施例提供一种终端设备,包括应用程序和应用程序的WebView组件,WebView组件包括Render模块和Browser模块;
[0018]应用程序用于通过WebView组件获取网页链接,加载并显示与网页链接相关的网页页面;
[0019]WebView组件用于接收网页页面的JsBridge调用请求后,并通过Render模块向Browser模块发送JsBridge调用请求;
[0020]Browser模块用于向应用程序发送统一资源定位符URL和JsBridge调用请求,URL
为发起JsBridge调用请求的网页的URL;
[0021]应用程序还用于根据URL和JsBridge调用请求,进行资源访问控制。
[0022]在第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源访问控制方法,其特征在于,应用于终端设备,所述终端设备包括应用程序和所述应用程序的WebView组件,所述方法包括:所述终端设备通过应用程序的WebView组件获取网页链接,加载并显示与所述网页链接相关的网页页面;所终端设备通过所述WebView组件接收所述网页页面的JsBridge调用请求,并通过所述WebView组件的Render模块向所述WebView组件的Browser模块发送所述JsBridge调用请求;所述终端设备通过所述Browser模块向所述应用程序发送统一资源定位符URL和所述JsBridge调用请求,所述URL为发起所述JsBridge调用请求的网页的URL;所述终端设备指示所述应用程序根据所述URL和所述JsBridge调用请求,进行资源访问控制。2.根据权利要求1所述的方法,其特征在于,所述终端设备通过所述Browser模块向所述应用程序发送统一资源定位符URL和所述JsBridge调用请求,包括:所述终端设备通过所述Browser模块调用所述应用程序的JavaObeject接口,向所述应用程序发送所述URL和所述JsBridge调用请求;其中,所述JavaObeject接口设置有用于接收所述URL的参数。3.根据权利要求1所述的方法,其特征在于,所述终端设备通过所述Browser模块向所述应用程序发送统一资源定位符URL和所述JsBridge调用请求,包括:所述终端设备通过所述Browser模块调用所述应用程序的setUrl接口,并通过所述setUrl接口向所述应用程序发送所述URL;所述终端设备通过所述Browser模块调用所述应用程序的JavaObeject接口,并通过所述JavaObeject接口向所述应用程序发送所述JsBridge调用请求。4.根据权利要求3所述的方法,其特征在于,在所述终端设备通过所述Browser模块调用所述应用程序的setUrl接口,并通过所述setUrl接口向所述应用程序发送所述URL之前,所述方法还包括:所述终端设备通过所述Browser模块判断所述应用程序是否已设置setUrl接口;若已设置setUrl接口,所述终端设备执行通过所述Browser模块调用所述应用程序的setUrl接口,并通过所述setUrl接口向所述应用程序发送所述URL的步骤。5.根据权利要求1至4任一项所述的方法,其特征在于,所述网页页面包括顶层页面,或者包括顶层页面和内嵌页面;所述JsBridge调用请求包括由所述顶层页面发起的JsBridge调用请求,和/或,由所述内嵌页面发起的JsBridge调用请求。6.根据权利要求1至5任一项所述的方法,其特征在于,所述终端设备指示所述应用程序根据所述URL和所述JsBridge调用请求,进行资源访问控制,包括:所述终端设备指示所述应用程序根据所述URL,判断所述URL是否在白名单中,或者根据所述URL和请求访问的资源类型,判断所述URL是否在白名单中;当所述URL不在所述白名单中,所述终端设备指示所述应用程序中断所述JsBridge调用请求,以拒绝网...

【专利技术属性】
技术研发人员:秦策刘耀明
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1