CN112565284B - 对应用程序内组件的访问控制方法、装置和电子设备 - Google Patents
对应用程序内组件的访问控制方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112565284B CN112565284B CN202011468933.5A CN202011468933A CN112565284B CN 112565284 B CN112565284 B CN 112565284B CN 202011468933 A CN202011468933 A CN 202011468933A CN 112565284 B CN112565284 B CN 112565284B
- Authority
- CN
- China
- Prior art keywords
- access
- component
- socket
- network access
- access control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例公开一种对应用程序内组件的访问控制方法、装置和电子设备,该方法包括:套接字Socket实现类接收所述组件发送的调用请求;其中,所述Socket实现类,是监听到所述组件执行创建Socket实例的操作后所创建的;且,所述Socket实现类对框架组件中默认的提供给应用程序进行网络访问的Socket类进行了替换;响应于所述调用请求,确定所述组件欲进行网络访问的访问主体;根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制。从而对应用程序内组件的网络访问进行权限管控,防止应用程序内的组件滥用网络访问权限。
Description
技术领域
本申请涉及通信技术领域,更具体地涉及对应用程序内组件的访问控制方法、装置和电子设备。
背景技术
移动智能终端操作系统为应用程序提供了基本的网络访问控制,然而,系统提供的访问控制不区分应用程序内部的不同组件,从而这种访问控制粒度过粗,使得应用程序的网络访问权限可能会被其携带的第三方组件滥用。
如何对应用程序内的组件的网络访问进行权限管控,防止应用程序内的组件滥用网络访问权限,成为一个亟待解决的问题。
发明内容
本申请的目的在于提供一种应用程序的访问控制方法、装置和电子设备,以解决现有技术存在的系统提供的访问控制不区分应用程序内部的不同组件,使得应用程序的网络访问权限可能会被其携带的第三方组件滥用的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提供了一种对应用程序内组件的访问控制方法,包括:
套接字Socket实现类接收所述组件发送的调用请求;其中,所述Socket实现类,是监听到所述组件执行创建Socket实例的操作后所创建的;且,所述Socket实现类对框架组件中默认的提供给应用程序进行网络访问的Socket类进行了替换;
响应于所述调用请求,确定所述组件欲进行网络访问的访问主体;
根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制。
第二方面,提供了一种对应用程序内组件的访问控制方法,包括:
对所述组件执行创建套接字Socket实例的操作进行监听;
若监听到所述操作,则创建针对所述组件的进行网络访问控制的Socket实现类;其中,所述Socket实现类的功能包括:确定所述组件欲基于所述Socket实例进行网络访问的访问主体;以及,在根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制;
将框架组件中默认的提供给应用程序进行网络访问的Socket类,替换为创建的所述Socket实现类;
调用所述Socket实现类执行所述功能。
第三方面,提供一种Socket实现类,所述Socket实现类,是监听到所述组件执行创建Socket实例的操作后所创建的;且,所述Socket实现类对框架组件中默认的提供给应用程序进行网络访问的Socket类进行了替换;
所述Socket实现类包括:调用请求接收模块、访问主体确定模块、网络访问控制模块,其中:
调用请求接收模块:用于接收应用程序内组件发送的调用请求;
访问主体确定模块:用于响应于所述调用请求,确定所述组件欲进行网络访问的访问主体;
网络访问控制模块:用于根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制。
第四方面,提供一种对应用程序内组件的访问控制装置,包括:调用请求接收模块、访问主体确定模块、网络访问控制模块,其中:
调用请求接收模块:用于套接字Socket实现类接收所述组件发送的调用请求;其中,所述Socket实现类,是监听到所述组件执行创建Socket实例的操作后所创建的;且,所述Socket实现类对框架组件中默认的提供给应用程序进行网络访问的Socket类进行了替换;
访问主体确定模块:用于响应于所述调用请求,确定所述组件欲进行网络访问的访问主体;
网络访问控制模块:用于根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制。
第五方面,提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述实施例提供的对应用程序内组件的访问控制方法。
第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的对应用程序内组件的访问控制方法。
采用以上本申请实施例的对应用程序内组件的访问控制方法,实现了对应用程序内组件的网络访问权限管控,防止应用程序内的组件滥用网络访问权限,解决了现有技术存在的系统提供的访问控制不区分应用程序内部的不同组件,使得应用程序的网络访问权限可能会被其携带的第三方组件滥用的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的第一实施例提供的一种对应用程序内组件的访问控制方法的示意性流程图。
图2是本申请的第二实施例提供的一种对应用程序内组件的访问控制方法的示意性流程图。
图3是本申请实施例提供的一种应用程序内组件的网络访问流程示意图。
图4是本申请实施例提供的一种socket实现类的示意图。
图5是本申请实施例提供的一种对应用程序内组件的访问控制装置的示意图。
图6是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例一
为解决现有技术存在的系统提供的访问控制不区分应用程序内部的不同组件,使得应用程序的网络访问权限可能会被其携带的第三方组件滥用的问题,本申请实施例一提供一种对应用程序内组件的访问控制方法。
该方法的执行主体,可以但不限于为手机、平板电脑或个人电脑(PersonalComputer,PC)、服务器、服务器集群等等计算设备,或者,该方法的执行主体,也可以是计算设备上安装的应用软件,比如安装在手机上的应用(Application,APP)等。
图1是本发明实施例一提供的一种对应用程序内组件的访问控制方法的主要步骤的示意图,以该方法的执行主体为Socket实现类为例,该流程可以包括下述步骤:
S11:Socket实现类接收所述组件发送的调用请求;其中,所述Socket实现类,是监听到所述组件执行创建Socket实例的操作后所创建的;且,所述Socket实现类对框架组件中默认的提供给应用程序进行网络访问的Socket类进行了替换;
可以理解到,所述socket实例是所述应用程序内的组件发出网络访问请求时创建的,所述socket实例描述它要连接的服务器端Socket的地址和端口号。所述Socket实现类是监听到所述组件执行创建Socket实例的操作后所创建的。
本公开实施例中,所述Socket实现类对框架组件中默认的提供给应用程序进行网络访问的Socket类进行了替换,也即应用程序内的组件执行创建Socket实例的操作后,向创建的Socket实现类发送调用请求。
在一种实施方式中,应用程序内的组件执行创建Socket实例的操作后,所述组件调用框架组件中默认的提供给应用程序进行网络访问的Socket类接口,所述框架组件中默认的提供给应用程序进行网络访问的Socket类接口调用创建的所述Socket实现类。
S12:响应于所述调用请求,确定所述组件欲进行网络访问的访问主体;
可以理解到,所述Socket实例包括所述组件欲进行网络访问的服务器的IP地址以及端口号。根据服务器的IP地址以及端口号,可以确定所述组件进行网络访问的访问主体。例如,根据以下的Socket实例:new Socket("yahoo.com",80),可以确定要连接yahoo.com的80端口。
在一种实施方式中,响应于所述调用请求,所述Socket实现类通过堆栈检查确定执行创建Socket实例的操作的应用程序内的组件。
S13:根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制。
上述访问控制规则包括但不限于通过以下方式加载:从所述应用程序的软件包中获取所述访问控制规则进行加载;响应于所述应用程序对于所述Socket实现类的接口的调用指令,从所述调用指令中获取所述访问控制规则进行加载;从所述应用程序对应的服务器端,下载所述访问控制规则进行加载。
访问控制规则可以是由组件所归属的应用程序的开发人员预先设置的。访问控制规则,是指访问控制列表中的具体规则数据,该规则数据可以是由多个字段组成。具体例如所述访问控制规则可以包括组件类型,是否控制;或也可以包括应用程序内的组件(或所在包名),访问IP和端口,是否控制。例如:对地图组件的网络访问请求放行,对图片处理组件的网络访问请求进行控制。如果预先设置了第一组件具有对第一访问主体进行访问的访问权限,则当第一组件对第一访问主体发出访问请求时,判定不需要进行控制。如果预先设置了第二组件不具有对第一访问主体进行访问的访问权限,则当第二组件对第一访问主体发出访问请求时,判定需要进行控制。
在一种实施方式中,所述访问控制规则包括基于角色的访问控制规则,所述基于角色的访问控制规则为将所述组件的角色与访问权限相关联。可以根据所述组件的完整级别、可信度、保密级别和客体域属性等参数赋予不同的权重,并基于权重计算得到应用程序内的不同组件的优先级。基于优先级数值,为应用程序内的组件赋予不同级别的角色,包含高级角色、中级角色和低级角色。不同级别的角色拥有不同的访问权限,例如高级角色具有较高的访问权限。
在一种实施方式中,角色是根据完成各种不同的任务需要而设置的,根据组件的职权和责任来设定角色,组件可以在角色间进行转换,还可以对角色的权限进行变更。基于角色的访问控制规则能够灵活表达和实现组织的安全政策,使管理员从访问控制底层的具体实现机制中脱离出来,接近日常的组织管理规则。
所述Socket实现类在根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制,并创建异常并抛出,告知应用程序内的组件无网络访问权限。依据应用程序的选择,异常创建后抛出前可以对异常堆栈信息进行修改,隐藏自身存在。
在一种实施方式中,对应用程序内组件的访问控制方法还包括:若根据预先设置的访问控制规则,判定无需控制所述组件对所述访问主体进行网络访问,则调用操作系统内核中封装的Socket类执行对所述访问主体进行网络访问。所述操作系统内核中封装的Socket类可以通过调用connect函数发出连接请求,服务器端就会接收到这个请求。connect函数的第一个参数即为客户端的socket描述字,第二参数为服务器的socket地址,第三个参数为socket地址的长度。所述操作系统内核中封装的Socket类通过调用connect函数来建立与服务器的连接。int connect(int sockfd,const struct sockaddr*addr,socklen_taddrlen)。
在一种实施方式中,对应用程序内组件的访问控制方法还包括:在根据所述访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制前,加载所述访问控制规则;其中,加载所述访问控制规则,包括下述方式中的至少一种:从所述应用程序的软件包中获取所述访问控制规则进行加载;响应于所述应用程序对于所述Socket实现类的接口的调用指令,从所述调用指令中获取所述访问控制规则进行加载;从所述应用程序对应的服务器端,下载所述访问控制规则进行加载。
在一种实施方式中,对应用程序内组件的访问控制方法还包括:确定所述应用程序对于所述访问主体的网络访问动作;基于所述网络访问动作,生成记录有所述网络访问动作的访问日志;将所述访问日志上报给所述应用程序对应的服务器端。
本实施例通过Socket实现类接收所述组件发送的调用请求,根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制,实现了对应用程序内的组件的网络访问进行权限管控,防止应用程序内的组件滥用网络访问权限。
实施例二
图2是根据本发明实施例二提供的一种对应用程序内组件的访问控制方法的主要步骤的示意图,以该方法的执行主体为移动终端为例,该流程可以包括下述步骤:
S21:对所述组件执行创建Socket实例的操作进行监听;
所述监听包括对应用程序内的组件执行创建Socket实例的操作进行监听。
所述socket实例是所述应用程序内的组件发出网络访问请求时创建的,所述Socket实例包括所述应用程序内的组件欲进行网络访问的访问主体的IP地址和Socket端口。
S22:若监听到所述操作,则创建针对所述组件的进行网络访问控制的Socket实现类;其中,所述Socket实现类的功能包括:确定所述组件欲基于所述Socket实例进行网络访问的访问主体;以及,在根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制;
所述Socket实现类的所述功能还包括:通过堆栈检查确定执行创建Socket实例的操作的应用程序内的组件。
确定所述组件欲基于所述Socket实例进行网络访问的访问主体的方法包括:监听到所述组件执行创建Socket实例的操作,创建针对所述组件的进行网络访问控制的Socket实现类,指明需要链接的服务器的地址和端号。所述Socket实现类包括服务器的IP地址以及端口号。根据服务器的IP地址以及端口号,可以确定所述组件进行网络访问的访问主体。
所述访问控制规则包括基于角色的访问控制规则,所述基于角色的访问控制规则为将所述组件角色与访问权限相关联。可以根据所述组件的完整级别、可信度、保密级别和客体域属性等参数赋予不同的权重,并基于权重计算得到应用程序内的不同组件的优先级。基于优先级数值,为应用程序内的组件赋予不同级别的角色,包含高级角色、中级角色和低级角色。不同级别的角色拥有不同的访问权限,例如高级角色具有较高的访问权限。
通过给不同组件分配不同的角色,让组件与访问权限相联系。角色是根据完成各种不同的任务需要而设置的,根据组件的职权和责任来设定角色。基于角色的访问控制规则能够灵活表达和实现组织的安全政策,使管理员从访问控制底层的具体实现机制中脱离出来,接近日常的组织管理规则。
所述Socket实现类在根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制,并创建异常并抛出,告知应用程序内的组件无网络访问权限。依据应用程序的选择,异常创建后抛出前可以对异常堆栈信息进行修改,隐藏自身存在。
所述Socket实现类的所述功能还包括:若根据预先设置的访问控制规则,判定无需控制所述组件对所述访问主体进行网络访问,则调用操作系统内核中封装的Socket类执行对所述访问主体进行网络访问。所述操作系统内核中封装的Socket类可以通过调用connect函数发出连接请求,服务器端就会接收到这个请求。connect函数的第一个参数即为客户端的socket描述字,第二参数为服务器的socket地址,第三个参数为socket地址的长度。所述操作系统内核中封装的Socket类通过调用connect函数来建立与服务器的连接。int connect(int sockfd,const struct sockaddr*addr,socklen_taddrlen)。
所述Socket实现类的所述功能还包括:在根据所述访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制前,加载所述访问控制规则;其中,加载所述访问控制规则,包括下述方式中的至少一种:从所述应用程序的软件包中获取所述访问控制规则进行加载;响应于所述应用程序对于所述Socket实现类的接口的调用指令,从所述调用指令中获取所述访问控制规则进行加载;从所述应用程序对应的服务器端,下载所述访问控制规则进行加载。
所述Socket实现类的所述功能还包括:确定所述应用程序对于所述访问主体的网络访问动作;基于所述网络访问动作,生成记录有所述网络访问动作的访问日志;将所述访问日志上报给所述应用程序对应的服务器端。
S23:将框架组件中默认的提供给应用程序进行网络访问的Socket类,替换为创建的所述Socket实现类;
具体的,框架组件中默认的提供给应用程序进行网络访问的Socket类包括socket类接口和socket类实现,将框架组件中默认的提供给应用程序进行网络访问的Socket类实现,替换为创建的所述Socket实现类。相应的,将框架组件中默认的提供给应用程序进行网络访问的Socket类,替换为创建的所述Socket实现类的方法包括:应用程序中的组件调用框架组件中默认的提供给应用程序进行网络访问的Socket类接口,所述Socket类接口调用创建的所述Socket实现类。
S24:调用所述Socket实现类执行所述功能。
所述调用所述Socket实现类执行所述功能的方法包括:应用程序中的组件调用框架组件中默认的提供给应用程序进行网络访问的Socket类接口,所述Socket类接口调用创建的所述Socket实现类。
本实施例对所述组件执行创建Socket实例的操作进行监听,监听到所述操作时创建针对所述组件的进行网络访问控制的Socket实现类,将框架组件中默认的提供给应用程序进行网络访问的Socket类,替换为创建的所述Socket实现类,调用所述Socket实现类执行所述功能,实现了对应用程序内的组件的网络访问进行权限管控,防止应用程序内的组件滥用网络访问权限。
如图3所示,应用程序内组件的网络访问流程包括以下步骤:1、应用程序内的第三方SDK组件创建socket实例,向框架组件中默认的提供给应用程序进行网络访问的Socket类接口发出调用请求;2、创建socket实现类,所述Socket类接口调用创建的所述Socket实现类;3、socket实现类根据预先设置的访问控制规则,若判定需要控制所述组件对所述访问主体进行网络访问则返回异常;4、所述Socket实现类根据预先设置的访问控制规则,判定无需控制所述组件对所述访问主体进行网络访问,则调用操作系统内核中封装的Socket类执行对所述访问主体进行网络访问;5、系统内核中封装的Socket类返回结果给操作系统内核中封装的Socket类;6、所述Socket实现类通过框架组件中默认的提供给应用程序进行网络访问的Socket类接口将结果返回给第三方SDK组件。
采用以上本申请实施例的对应用程序内组件的访问控制方法,实现了对应用程序内组件的网络访问权限管控,防止应用程序内的组件滥用网络访问权限,解决了现有技术存在的系统提供的访问控制不区分应用程序内部的不同组件,使得应用程序的网络访问权限可能会被其携带的第三方组件滥用的问题。
实施例三
为解决现有技术存在的系统提供的访问控制不区分应用程序内部的不同组件,使得应用程序的网络访问权限可能会被其携带的第三方组件滥用的问题,本发明实施例三提供一种对应用程序内组件的访问控制装置。
图4是根据本申请实施例的Socket实现类的示意图。如图4所示,本发明实施例中的Socket实现类,是监听到所述组件执行创建Socket实例的操作后所创建的;且,所述Socket实现类对框架组件中默认的提供给应用程序进行网络访问的Socket类进行了替换;
所述Socket实现类包括:调用请求接收模块、访问主体确定模块、网络访问控制模块,其中:
调用请求接收模块:用于接收应用程序内组件发送的调用请求;
访问主体确定模块:用于响应于所述调用请求,确定所述组件欲进行网络访问的访问主体;
网络访问控制模块:用于根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制。
实施例四
为解决现有技术存在的系统提供的访问控制不区分应用程序内部的不同组件,使得应用程序的网络访问权限可能会被其携带的第三方组件滥用的问题,本发明实施例四提供一种对应用程序内组件的访问控制装置。
图5是根据本申请实施例的一种对应用程序内组件的访问控制装置的示意图。如图5所示,本发明实施例中的对应用程序内组件的访问控制装置,包括以下模块:监听模块、创建模块、替换模块、调用模块,其中:
监听模块,用于对所述组件执行创建Socket实例的操作进行监听;
创建模块,用于若监听到所述操作,则创建针对所述组件的进行网络访问控制的Socket实现类;其中,所述Socket实现类的功能包括:确定所述组件欲基于所述Socket实例进行网络访问的访问主体;以及,在根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制;
替换模块:用于将框架组件中默认的提供给应用程序进行网络访问的Socket类,替换为创建的所述Socket实现类;
调用模块,用于调用所述Socket实现类执行所述功能。
实施例五
图6为实现本发明各个实施例的一种移动终端的硬件结构示意图,该移动终端600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图4中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器610,用于Socket实现类接收所述组件发送的调用请求;其中,所述Socket实现类,是监听到所述组件执行创建Socket实例的操作后所创建的;且,所述Socket实现类对框架组件中默认的提供给应用程序进行网络访问的Socket类进行了替换;响应于所述调用请求,确定所述组件欲进行网络访问的访问主体;根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制。
存储器609,用于存储可在处理器610上运行的计算机程序,该计算机程序被处理器610执行时,实现处理器610所实现的上述功能。
应理解的是,本发明实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。
移动终端通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与移动终端600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。
输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
移动终端600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在移动终端600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6061。
用户输入单元607可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元608为外部装置与移动终端600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端600内的一个或多个元件或者可以用于在移动终端600和外部装置之间传输数据。
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器610是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
移动终端600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,移动终端600包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种移动终端,包括处理器610,存储器609,存储在存储器609上并可在所述处理器610上运行的计算机程序,该计算机程序被处理器610执行时实现上述对应用程序内组件的访问控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述对应用程序内组件的访问控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (6)
1.一种对应用程序内组件的访问控制方法,其特征在于,包括:
对所述组件执行创建套接字Socket实例的操作进行监听;
若监听到所述操作,则创建针对所述组件的进行网络访问控制的Socket实现类;其中,所述Socket实现类的功能包括:确定所述组件欲基于所述Socket实例进行网络访问的访问主体;以及,在根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制;
将框架组件中默认的提供给应用程序进行网络访问的Socket类,替换为创建的所述Socket实现类;
调用所述Socket实现类执行所述功能。
2.根据权利要求1所述的方法,其特征在于,所述Socket实现类的所述功能还包括:
若根据预先设置的访问控制规则,判定无需控制所述组件对所述访问主体进行网络访问,则调用操作系统内核中封装的Socket类执行对所述访问主体进行网络访问。
3.根据权利要求1所述的方法,其特征在于,所述Socket实现类的所述功能还包括:
在根据所述访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制前,加载所述访问控制规则;其中,加载所述访问控制规则,包括下述方式中的至少一种:
从所述应用程序的软件包中获取所述访问控制规则进行加载;
响应于所述应用程序对于所述Socket实现类的接口的调用指令,从所述调用指令中获取所述访问控制规则进行加载;
从所述应用程序对应的服务器端,下载所述访问控制规则进行加载。
4.一种对应用程序内组件的访问控制装置,其特征在于,包括:监听接收模块、创建模块、替换模块、调用模块,其中:
监听模块,用于对所述组件执行创建Socket实例的操作进行监听;
创建模块,用于若监听到所述操作,则创建针对所述组件的进行网络访问控制的Socket实现类;其中,所述Socket实现类的功能包括:确定所述组件欲基于所述Socket实例进行网络访问的访问主体;以及,在根据预先设置的访问控制规则判定需控制所述组件对所述访问主体进行网络访问时,对所述组件对于所述访问主体的网络访问进行控制;
替换模块:用于将框架组件中默认的提供给应用程序进行网络访问的Socket类,替换为创建的所述Socket实现类;
调用模块,用于调用所述Socket实现类执行所述功能。
5.一种移动终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至3中任一项所述的对应用程序内组件的访问控制方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的对应用程序内组件的访问控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468933.5A CN112565284B (zh) | 2020-12-14 | 2020-12-14 | 对应用程序内组件的访问控制方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468933.5A CN112565284B (zh) | 2020-12-14 | 2020-12-14 | 对应用程序内组件的访问控制方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565284A CN112565284A (zh) | 2021-03-26 |
CN112565284B true CN112565284B (zh) | 2022-10-21 |
Family
ID=75064625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011468933.5A Active CN112565284B (zh) | 2020-12-14 | 2020-12-14 | 对应用程序内组件的访问控制方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565284B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657022A (zh) * | 2016-11-24 | 2017-05-10 | 北京瑞星信息技术股份有限公司 | Linux网络访问控制方法及装置 |
CN106961339A (zh) * | 2017-03-24 | 2017-07-18 | 网宿科技股份有限公司 | 实现定向流量的方法及系统 |
CN109756992A (zh) * | 2017-08-24 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 创建网络连接的方法、装置和系统 |
US10645172B1 (en) * | 2017-03-30 | 2020-05-05 | Amazon Technologies, Inc. | Socket tunneling connections in a service provider environment |
-
2020
- 2020-12-14 CN CN202011468933.5A patent/CN112565284B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657022A (zh) * | 2016-11-24 | 2017-05-10 | 北京瑞星信息技术股份有限公司 | Linux网络访问控制方法及装置 |
CN106961339A (zh) * | 2017-03-24 | 2017-07-18 | 网宿科技股份有限公司 | 实现定向流量的方法及系统 |
US10645172B1 (en) * | 2017-03-30 | 2020-05-05 | Amazon Technologies, Inc. | Socket tunneling connections in a service provider environment |
CN109756992A (zh) * | 2017-08-24 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 创建网络连接的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112565284A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598584B (zh) | 一种处理资源文件的方法、装置和系统 | |
CN108055408B (zh) | 一种应用程序控制方法及移动终端 | |
CN110058836B (zh) | 一种音频信号的输出方法及终端设备 | |
CN108170361B (zh) | 一种应用运行状态控制方法及移动终端 | |
CN108681427B (zh) | 一种访问权限控制的方法及终端设备 | |
CN110674490B (zh) | 应用权限显示方法、装置及移动终端 | |
CN110445924B (zh) | 网络任务执行方法及终端设备 | |
CN109407832B (zh) | 一种终端设备的控制方法及终端设备 | |
CN109976611B (zh) | 终端设备的控制方法及终端设备 | |
WO2018214748A1 (zh) | 应用界面的显示方法、装置、终端及存储介质 | |
CN110780940A (zh) | 应用程序加载方法、电子设备和存储介质 | |
US11150913B2 (en) | Method, device, and terminal for accelerating startup of application | |
CN109522741B (zh) | 一种应用程序权限提示方法及其终端设备 | |
CN109857305B (zh) | 一种输入响应方法及移动终端 | |
CN108089935B (zh) | 一种应用程序的管理方法及移动终端 | |
CN106528231B (zh) | 一种启动应用程序的方法和装置 | |
CN111427644B (zh) | 一种目标行为识别方法及电子设备 | |
CN106709330B (zh) | 记录文件执行行为的方法及装置 | |
WO2017215663A1 (zh) | 一种音效处理的方法及终端 | |
CN111159738A (zh) | 权限配置方法、应用登录方法及装置 | |
CN112565284B (zh) | 对应用程序内组件的访问控制方法、装置和电子设备 | |
CN108388457A (zh) | 一种应用程序参数设置方法及移动终端 | |
CN112769777B (zh) | 基于云平台的数据整合方法、装置及电子设备 | |
CN110928508B (zh) | 一种控制方法及电子设备 | |
WO2020192415A1 (zh) | 权限配置方法及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |