Web程序调用本地插件的方法及装置与流程

文档序号:16400650发布日期:2018-12-25 20:06阅读:376来源:国知局
Web程序调用本地插件的方法及装置与流程

本发明涉及通信领域,具体地涉及一种web程序调用本地插件的方法及装置。

背景技术

随着移动网络通信的速度和稳定性不断提高,webapp(网页应用软件)被更多的运用在移动终端上,特别是云手机。webapp是通过网页形式运行的应用软件,其可以实现在多种操作系统的跨平台的运行,减少了开发成本。并且通过web页面运行应用软件不存在软件更新的问题,减少软件的维护成本,且提高了用户感受。

随着html5规范的不断推广,基于html5的webapp可以实现更多原生应用的功能,如基于lbs(位置服务)的功能、本地数据存储、音视频播放的功能,甚至还有调用照相机和结合gpu(图形处理器)的硬件加速功能。

webapp在调用本地插件功能(如调用摄像头、gps模块、麦克风、发送sms(短信)、拨打电话或其他插件等)时,有可能涉及用户的隐私信息的暴露。现有技术中的webapp缺少对调用权限的验证,用户的角度只能统一设置浏览器对本地插件调用的权限以限制webapp,无法做到针对不同的webapp设置不同的调用权限,给用户带来了极大的不便。



技术实现要素:

根据本发明的实施例提供了一种web程序调用本地插件的方法及装置,解决目前的移动设备上的浏览器无法做到针对不同的webapp设置不同的调用权限调用插件的问题。

根据本发明实施例的第一个方面,提供了一种web程序调用本地插件的方法,包括:

获得web程序调用本地插件权限的调用权限表;

接收第一web程序调用目标插件的请求及所述第一web程序的身份验证信息;

成功验证所述第一web程序的身份验证信息;

根据第一web程序调用目标插件的请求,检测存在可供调用的所述目标插件;

根据所述调用权限表确定所述第一web程序具有调用所述目标插件的权限;

调用所述目标插件。

可选择地,所述第一web程序的身份验证信息,包括以下一个或一个以上信息,第一web程序的url地址、html文件标签中携带的验证信息、第一web程序的身份标识信息。

可选择地,所述第一web程序调用目标插件的请求包括调用所述目标插件的时限;

所述方法还包括:

当调用所述目标插件的时限届满时,停止调用所述目标插件。

可选择地,所述检测存在可供调用的所述目标插件,包括:

检测本地侧插件中是否存在可供调用的所述目标插件;

如果检测本地侧插件中存在可供调用的所述目标插件,则确定本地侧存在可供调用的所述目标插件;

如果检测本地侧插件中不存在可供调用的所述目标插件,则检测非本地侧插件中是否存在可供调用的所述目标插件,如果检测非本地侧插件中存在可供调用的所述目标插件,则确定非本地侧存在可供调用的所述目标插件。

可选择地,所述确定非本地侧存在可供调用的所述目标插件后,调用所述目标插件前,还包括,从非本地侧下载所述目标插件。

可选择地,所述根据所述调用权限表确定所述第一web程序具有调用所述目标插件的权限,包括:

所述调用权限表中不包含所述第一web程序对所述目标插件的调用权限信息,则发出获得所述第一web程序对所述目标插件的调用权限信息的请求,根据反馈得到的调用权限信息确定所述第一web程序具有调用所述目标插件的权限。

可选择地,所述方法还包括:

根据得到的调用权限信息更新所述调用权限表。

可选择地,所述方法还包括:

上传所述调用权限表。

根据本发明实施例的第二个方面,还提供了一种web程序调用本地插件的装置,包括:

接口单元,用于获得web程序调用本地插件权限的调用权限表;接收第一web程序调用目标插件的请求及所述第一web程序的身份验证信息;

身份验证单元,用于成功验证所述第一web程序的身份验证信息;

检测单元,用于根据第一web程序调用目标插件的请求,检测存在可供调用的所述目标插件;

权限验证单元,用于根据所述调用权限表确定所述第一web程序具有调用所述目标插件的权限;

执行单元,用于调用所述目标插件。

可选择地,所述第一web程序的身份验证信息,包括以下一个或一个以上信息,第一web程序的url地址、html文件标签中携带的验证信息、第一web程序的身份标识信息。

可选择地,所述第一web程序调用目标插件的请求包括调用所述目标插件的时限;

所述执行单元,还用于当调用所述目标插件的时限届满时,停止调用所述目标插件。

可选择地,所述检测单元,还用于:

检测本地侧插件中是否存在可供调用的所述目标插件;

如果检测本地侧插件中存在可供调用的所述目标插件,则确定本地侧存在可供调用的所述目标插件;

如果检测本地侧插件中不存在可供调用的所述目标插件,则检测非本地侧插件中是否存在可供调用的所述目标插件,如果检测非本地侧插件中存在可供调用的所述目标插件,则确定非本地侧存在可供调用的所述目标插件。

可选择地,所述检测单元还用于,确定非本地侧存在可供调用的所述目标插件后,在调用所述目标插件前,从非本地侧下载所述目标插件。

可选择地,所述权限验证单元,还用于所述调用权限表中不包含所述第一web程序对所述目标插件的调用权限信息,则发出获得所述第一web程序对所述目标插件的调用权限信息的请求,根据反馈得到的调用权限信息确定所述第一web程序具有调用所述目标插件的权限。

可选择地,所述权限验证单元,还用于根据得到的调用权限信息更新所述调用权限表。

可选择地,所述接口单元,还用于上传所述调用权限表。

本发明实施例提供的web程序调用本地插件的方法及装置,根据预先设定的调用权限表来验证web程序的调用权限,从而达到对不同的web程序的调用权限的管理,有利于保护用户的隐私,避免web程序未经验证就自行调用本地插件(例如gps位置信息等),提高调用本地插件的信息安全性。

附图说明

下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明,其中:

通过阅读以下参照附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显,其中,相同或相似的附图标记表示相同或相似的特征。

图1是表示本发明一个实施例所述web程序调用本地插件的方法的流程图;

图2是表示本发明一个实施例所述检测存在可供调用的目标插件的流程图;

图3是表示本发明一个实施例所述web程序调用本地插件的装置的模块结构示意图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。在图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。此外,下文中所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。并且,下述描述中出现的方位词均为图中示出的方向,并不是对本发明的具体结构进行限定。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可视具体情况理解上述术语在本发明中的具体含义。

根据本发明实施例的第一方面,如图1所示,提供了一种web程序调用本地插件的方法,包括:

s100、获得web程序调用本地插件权限的调用权限表;

s101、接收第一web程序调用目标插件的请求及第一web程序的身份验证信息;

s102、成功验证第一web程序的身份验证信息;

s103、根据第一web程序调用目标插件的请求,检测存在可供调用的目标插件;

s104、根据调用权限表确定第一web程序具有调用目标插件的权限;

s105、调用目标插件。

利用步骤s100预先创建调用权限表,该调用权限表中一般包括多个不同web程序调用本地插件权限的对应关系,针对不同的web程序调用不同的插件,设置了不同的调用权限,以供后续步骤进行调用插件时进行验证,通常地,调用权限包括可以调用和拒绝调用。

通常地,调用权限表由云服务器根据各web程序在云服务器的注册信息预先创建,然后通过网络通信的方式发送到本地,或者由本地向云服务器下载该调用权限表。

关于调用权限表中的不同web程序调用本地插件权限的对应关系,可以是在创建调用权限表时,创建不同web程序调用本地一个或多个插件权限的对应关系;也可以是在调用的过程中根据得到的调用权限信息添加在调用权限表中;也可以是部分对应关系在创建调用权限表时进行创建,其他部分对应关系在调用的过程中根据得到的调用权限信息添加在调用权限表中。

通常地,在创建调用权限表时,会同时创建不同web程序调用本地插件权限的对应关系,但是也会在调用插件的过程中添加调用权限表中没有载明的web程序调用本地插件权限的对应关系。基于本领域技术人员的理解,在创建调用权限表时,可以针对一个web程序创建一个调用本地插件权限的对应关系,也可以针对一个web程序创建两个以上调用不同本地插件权限的对应关系。

可选择地,步骤s101中,接收第一web程序调用目标插件的请求,需要第一web程序生命需要调用的目标插件,第一web程序可以一次性调用一个目标插件,也可以一次性调用两个以上不同的目标插件。第一web程序的身份验证信息,包括以下一个或一个以上信息,第一web程序的url地址、html文件标签中携带的验证信息、第一web程序的身份标识信息。首先需要对第一web程序本身的身份信息进行识别,以确保第一web程序是合法程序,避免非法程序调用本地插件,从而保护用户隐私,提高本地信息的安全性。当该web程序调用本地插件的方法用于手机、ipad、手提电脑等移动设备上时,可以确保手机、ipad、手提电脑用户的隐私和信息安全。

可选择地,步骤s101中,第一web程序调用目标插件的请求包括调用目标插件的时限;

当调用目标插件的时限届满时,停止调用目标插件。可选择地,包括调用时限的web程序调用目标插件的请求,在调用目标插件后启动一计时线程,在调用时限满时停止对目标插件的调用,从而避免在下次调用该目标插件时自动调用,确保用户隐私和信息安全。

如图2所示,可选择地,步骤s103中,检测存在可供调用的目标插件,包括:

检测本地侧插件中是否存在可供调用的目标插件;

如果检测本地侧插件中存在可供调用的目标插件,则确定本地侧存在可供调用的目标插件;进而执行步骤s104,根据调用权限表确定第一web程序具有调用目标插件的权限之后;再执行步骤s105,调用本地侧的目标插件。

如果检测本地侧插件中不存在可供调用的目标插件,则检测非本地侧插件中是否存在可供调用的目标插件,如果非本地侧插件中存在可供调用的目标插件,则确定非本地侧存在可供调用的目标插件;进而执行步骤s104,根据调用权限表确定第一web程序具有调用目标插件的权限之后,并下载非本地侧的目标插件到本地侧;再执行步骤s105,调用该目标插件。

本实施例中,非本地侧是指能够与本地侧进行通信的云服务器、移动终端等,其中的移动终端可以是手机、ipad、笔记本电脑等。在实施的过程中,本地侧可以通过网络与非本地侧的手机、ipad、笔记本电脑或者云服务器之间进行通信,检测非本地侧插件是否存在可供调用的目标插件的请求,可以直接发送给云服务器,也可以首先发送给第三方移动终端(手机、ipad、笔记本电脑),由第三方移动终端发送给云服务器。

将非本地侧的目标插件下载到本地侧以后,在第一web程序或者其他web程序以后需要访问该目标插件时,仅判断是否可以调用已经下载到本地侧的该目标插件即可,而不需要每次调用该插件都到非本地侧进行调用。

如果非本地侧未检测到存在可供调用的目标插件,则由非本地侧(例如云服务器)向本地侧发送没有目标插件的反馈信息,有本地侧向用户提示没有目标插件的通知。

其中的本地侧是指用于浏览web程序的移动设备,例如手机、ipad、笔记本电脑等。

可选择地,步骤s104中,根据调用权限表确定第一web程序具有调用目标插件的权限,包括:

调用权限表中不包含第一web程序对目标插件的调用权限信息,则发出获得所述第一web程序对所述目标插件的调用权限信息的请求,根据反馈得到的调用权限信息确定第一web程序具有调用目标插件的权限。

具体地,如果调用权限表中不包含第一web程序对目标插件的调用权限信息,那么显示调用权限信息的询问窗口,显示第一web程序的主要信息(例如,从第一web程序的head标签中读取的第一web程序的主要信息),提示第一web程序申请调用该目标插件的请求,此时用户可以根据实际情况对第一web程序的调用权限进行选择(例如,可以在“总是允许”、“本次允许”和“禁止调用”几个选项之间进行选择),从而完成调用目标插件的步骤,如表一所示:

表一

在第一web程序调用目标插件的请求中,可以包含目标插件的版本信息,也可以不包含目标插件的版本信息。当第一web程序调用目标插件的请求中不包含目标插件的版本信息时,在检测本地侧插件时,忽略插件的版本信息,但如果本地插件有多个版本时,通常验证最新的版本,并以最新的版本为目标插件进行调用;当第一web程序调用目标插件的请求中,包含目标插件的版本信息时,则在确定第一web程序具有调用目标插件的权限时,需要同时确定目标插件的版本信息,当目标插件的版本信息与第一web程序调用的目标插件的版本信息一致时,再调用该目标插件。

可选择地,根据得到的调用权限信息更新调用权限表。即在首次执行是否调用第一web程序的命令之后,存储得到的调用权限信息,并以此更新调用权限表。从而使第一web程序在下次发送调用目标插件的请求时,由更新后的调用权限表对该请求进行判断。

可选择地,方法还包括:

上传调用权限表。具体地,可以将更新后的调用权限表上传至云服务器或者第三方(例如:手机、ipad、笔记本电脑等移动设备)存储,使用户可以根据需要再从云服务器或者第三方重新同步已经上传的调用权限表。使用户在更换使用设备或者使用设备在故障、刷机以及系统程序重装之后,可以方便找回调用权限表,而不需要重新对经常使用的目标插件重新一一确定调用方式。

同时,在上传调用权限表到云服务器或者第三方以后,也方便云服务器或者第三方对调用权限表中的web程序进行扫描,当发现调用权限表中由准许非法web程序调用本地插件时,可以向用户推送报警通知,从而更进一步确保用户的隐私和信息安全。

可选地,在执行完调用目标插件之后,将目标插件运行后获得的返回数据发送给第一web程序(如获得gps位置信息),或者将第一web程序的数据发送给目标插件并运行(如发送sms)。

需要指出的是,本发明实施例提供的一种web程序调用本地插件的方法,其工作流程并不限于以上所述,各步骤之间的判断关系也不限于本实施例给出的判断流程,特别地,例如:步骤s100和步骤s101之间不存在先后关系,步骤s100在步骤s101之前或者之后都可以;步骤s102、步骤s103、步骤s104之间的顺序也可以不限于以上实施例给出的顺序,可以在实施的过程中,将步骤s104放在步骤s103和步骤s102的前面。

在本发明技术方案构思的前提下,本领域技术人员可以根据实施的需要而对以上判断步骤的先后顺序进行调整。

本发明实施例提供的web程序调用本地插件的方法,根据预先设定的调用权限表来验证web程序的调用权限,从而达到对不同的web程序的调用权限的管理,有利于保护用户的隐私,避免web程序未经验证就自行调用本地插件(例如gps位置信息等),提高调用本地插件的信息安全性。

根据本发明实施例的第二个方面,如图3所示,还提供了一种web程序调用本地插件的装置,包括:

接口单元,用于获得web程序调用本地插件权限的调用权限表;接收第一web程序调用目标插件的请求及第一web程序的身份验证信息;

身份验证单元,用于成功验证第一web程序的身份验证信息;

检测单元,用于根据第一web程序调用目标插件的请求,检测存在可供调用的目标插件;

权限验证单元,用于根据调用权限表确定第一web程序具有调用目标插件的权限;

执行单元,用于调用目标插件。

利用接口单元获得预先创建的调用权限表,该调用权限表中一般包括多个不同web程序调用本地一个或多个插件权限的对应关系,针对不同的web程序调用不同的插件,设置了不同的调用权限,以供执行单元进行调用插件时进行验证,通常地,调用权限包括可以调用和拒绝调用。

通常地,调用权限表由云服务器根据各web程序在云服务器的注册信息预先创建,然后通过网络通信的方式发送到本地,或者由本地向云服务器下载该调用权限表。

关于调用权限表中的不同web程序调用本地插件权限的对应关系,可以是在创建调用权限表时,创建不同web程序调用本地插件权限的对应关系;也可以是在调用的过程中根据得到的调用权限信息添加在调用权限表中;也可以是部分对应关系在创建调用权限表时进行创建,其他部分对应关系在调用的过程中根据得到的调用权限信息添加在调用权限表中。

通常地,在创建调用权限表时,会同时创建不同web程序调用本地插件权限的对应关系,但是也会在调用插件的过程中添加调用权限表中没有载明的web程序调用本地插件权限的对应关系。基于本领域技术人员的理解,在创建调用权限表时,可以针对一个web程序创建一个调用本地插件权限的对应关系,也可以针对一个web程序创建两个以上调用不同本地插件权限的对应关系。

可选择地,接口单元接收第一web程序调用目标插件的请求,需要第一web程序生命需要调用的目标插件,第一web程序可以一次性调用一个目标插件,也可以一次性调用两个以上不同的目标插件。第一web程序的身份验证信息,包括以下一个或一个以上信息,第一web程序的url地址、html文件标签中携带的验证信息、第一web程序的身份标识信息。首先需要对第一web程序本身的身份信息进行识别,以确保第一web程序是合法程序,避免非法程序调用本地插件,从而保护用户隐私,提高本地信息的安全性。当该web程序调用本地插件的方法用于手机、ipad、手提电脑等移动设备上时,可以确保手机、ipad、手提电脑用户的隐私和信息安全。

可选择地,接口单元接收到的第一web程序调用目标插件的请求包括调用目标插件的时限;

执行单元,还用于当调用目标插件的时限届满时,停止调用目标插件。可选择地,包括调用时限的web程序调用目标插件的请求,在调用目标插件后启动一计时线程,在调用时限满时停止对目标插件的调用,从而避免在下次调用该目标插件时自动调用,确保用户隐私和信息安全。

可选择地,检测单元,还用于:

检测本地侧插件中是否存在可供调用的目标插件;

如果检测本地侧插件中存在可供调用的目标插件,则确定本地侧存在可供调用的目标插件;进而由权限验证单元根据调用权限表确定第一web程序具有调用目标插件的权限之后;再由执行单元调用本地侧的目标插件。

如果检测本地侧插件中不存在可供调用的目标插件,则检测非本地侧插件中是否存在可供调用的目标插件,如果非本地侧插件中存在可供调用的目标插件,则确定非本地侧存在可供调用的目标插件。进而权限验证单元根据调用权限表确定第一web程序具有调用目标插件的权限之后,并下载非本地侧的目标插件到本地侧;再由执行单元调用该目标插件。

本实施例中,非本地侧是指能够与本地侧进行通信的云服务器、移动终端等,其中的移动终端可以是手机、ipad、笔记本电脑等。在实施的过程中,本地侧可以通过网络与非本地侧的手机、ipad、笔记本电脑或者云服务器之间进行通信,检测非本地侧插件是否存在可供调用的目标插件的请求,可以直接发送给云服务器,也可以首先发送给第三方移动终端(手机、ipad、笔记本电脑),由第三方移动终端发送给云服务器。

将非本地侧的目标插件下载到本地侧以后,在第一web程序或者其他web程序以后需要访问该目标插件时,仅判断是否可以调用已经下载到本地侧的该目标插件即可,而不需要每次调用该插件都到非本地侧进行调用。

如果非本地侧未检测到存在可供调用的目标插件,则由非本地侧(例如云服务器)向本地侧发送没有目标插件的反馈信息,有本地侧向用户提示没有目标插件的通知。

其中的本地侧是指用于浏览web程序的移动设备,例如手机、ipad、笔记本电脑等。

可选择地,权限验证单元,还用于调用权限表中不包含第一web程序对目标插件的调用权限信息,则发出获得所述第一web程序对所述目标插件的调用权限信息的请求,根据反馈得到的调用权限信息确定第一web程序具有调用目标插件的权限。

具体地,如果调用权限表中不包含第一web程序对目标插件的调用权限信息,那么显示调用权限信息的询问窗口,显示第一web程序的主要信息(例如,从第一web程序的head标签中读取的第一web程序的主要信息),提示第一web程序申请调用该目标插件的请求,此时用户可以根据实际情况对第一web程序的调用权限进行选择(例如,可以在“总是允许”、“本次允许”和“禁止调用”几个选项之间进行选择),从而完成调用目标插件的步骤。

在第一web程序调用目标插件的请求中,可以包含目标插件的版本信息,也可以不包含目标插件的版本信息。当第一web程序调用目标插件的请求中不包含目标插件的版本信息时,在检测本地侧插件时,忽略插件的版本信息,但如果本地插件有多个版本时,通常验证最新的版本,并以最新的版本为目标插件进行调用;当第一web程序调用目标插件的请求中,包含目标插件的版本信息时,则在确定第一web程序具有调用目标插件的权限时,需要同时确定目标插件的版本信息,当目标插件的版本信息与第一web程序调用的目标插件的版本信息一致时,再调用该目标插件。

可选择地,权限验证单元,还用于根据得到的调用权限信息更新调用权限表;即在首次执行是否调用第一web程序的命令之后,存储得到的调用权限信息,并以此更新调用权限表。从而使第一web程序在下次发送调用目标插件的请求时,由更新后的调用权限表对该请求进行判断。

可选择地,接口单元,还用于上传调用权限表。具体地,可以将更新后的调用权限表上传至云服务器或者第三方(例如:手机、ipad、笔记本电脑等移动设备)存储,使用户可以根据需要再从云服务器或者第三方重新同步已经上传的调用权限表,使用户在更换使用设备或者使用设备在故障、刷机以及系统程序重装之后,可以方便找回调用权限表,而不需要重新对经常使用的目标插件重新一一确定调用方式。

同时,在上传调用权限表到云服务器或者第三方以后,也方便云服务器或者第三方对调用权限表中的web程序进行扫描,当发现调用权限表中由准许非法web程序调用本地插件时,可以向用户推送报警通知,从而更进一步确保用户的隐私和信息安全。

可选地,在执行完调用目标插件之后,将目标插件运行后获得的返回数据发送给第一web程序(如获得gps位置信息),或者将第一web程序的数据发送给目标插件并运行(如发送sms)。

本发明实施例提供的web程序调用本地插件的装置,根据预先设定的调用权限表来验证web程序的调用权限,从而达到对不同的web程序的调用权限的管理,有利于保护用户的隐私,避免web程序未经验证就自行调用本地插件(例如gps位置信息等),提高调用本地插件的信息安全性。

本发明可以以其他的具体形式实现,而不脱离其精神和本质特征。因此,当前的实施例在所有方面都被看作是示例性的而非限定性的,本发明的范围由所附权利要求而非上述描述定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的范围之中。并且,在不同实施例中出现的不同技术特征可以进行组合,以取得有益效果。本领域技术人员在研究附图、说明书及权利要求书的基础上,应能理解并实现所揭示的实施例的其他变化的实施例。

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