具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例可以应用于各种终端(如移动终端、智能电视、机顶盒等设备)中,尤其的,本发明实施例可以适用于一种内置有浏览器的终端中。其中,浏览器是指用于浏览网页的浏览器,可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的软件。在本发明实施例中,浏览器向服务器请求网页,服务器根据请求中所附带的信息,下发加密的策略信息,同时,服务器还可以根据浏览器的请求下发对应的网页内容和资源。
另一方面,浏览器解析策略信息,根据其中定义的策略更新浏览器本地策略,浏览器还可以根据本地策略向服务器动态请求网页,浏览器解析并显示由服务器下发的网页资源。
图1(a)示出了本发明实施例提供的一种网页请求方法的流程示意图,如图1(a)所示,该流程可以包括:
步骤101:向服务器发送携带有请求访问的目标网页的标识和策略信息的网页请求,其中,策略信息用于表明访问目标网页的权限。
步骤102:接收服务器响应的网页资源,并选取出符合策略信息所规定的权限的网页资源进行显示;其中,由服务器所响应的网页资源是服务器在识别出网页请求中的策略信息为有效的策略信息之后,根据获取到的与目标网页标识对应的网页资源进行响应的。
可选的,在上述步骤101之前,通过如下步骤生成携带有请求访问的目标网页的标识和策略信息的网页请求:在向服务器发送仅携带有目标网页标识的网页请求之后,接收服务器根据仅携带有目标网页标识的网页请求所反馈的与目标网页匹配的策略信息;根据目标网页标识和接收到的策略信息,生成携带有请求访问的目标网页的标识和策略信息的网页请求;或者在本地策略数据库中,查找到与需要请求访问的目标网页匹配的策略信息;根据查找到的策略信息和目标网页的标识,生成携带有请求访问的目标网页的标识和策略信息的网页请求。
可选的,在上述步骤中,通过如下步骤更新本地策略数据库:向服务器发送用于请求更新本地策略数据库的更新请求,其中,更新请求中还携带有设备信息;接收服务器根据与设备信息所匹配的策略文件,并对接收到的策略文件进行完整性验证,根据通过完整性验证的策略文件,更新本地策略数据库;或者接收服务器下发的用于更新本地策略数据库的最新的策略文件,并对接收到的最新策略文件进行完整性验证,根据通过完整性验证的最新策略文件,更新本地策略数据库;其中,服务器每次下发的策略文件均是根据预先获取到的终端的设备信息所下发的。
可选的,策略信息中至少包括用于表明加载目标网页的规则的字段;在步骤102中,在接收到的服务器响应的网页资源中,选取出符合策略信息中的用于表明加载目标网页的规则的字段的网页资源,进行加载并显示。
可选的,在步骤102中,对由服务器响应的全部的网页资源进行遍历,在遍历过程中,选取出符合策略信息的网页资源,并对选择出的网页资源进行标记;显示已标记的网页资源。
图1(b)示出了本发明实施例提供的一种网页响应方法的流程示意图,如图1(b)所示,该流程可以包括:
步骤111:接收并解析终端发送的网页请求。
步骤112:在识别出网页请求中携带有请求访问的目标网页的标识和有效的策略信息时,获取与目标网页标识对应的网页资源,根据获取到的网页资源响应终端所发送的网页请求,以指示终端在接收到响应的网页资源之后,选取出符合策略信息的网页资源进行显示;其中,策略信息用于表明终端访问目标网页的权限。
可选的,在上述步骤111之后,如果从网页请求中未解析到有效策略信息,则向终端反馈与目标网页匹配的策略信息;以指示终端根据目标网页标识和接收到的策略信息,生成携带有请求访问的目标网页的标识和策略信息的网页请求。
可选的,在上述步骤111之前,接收终端发送的用于请求更新本地策略数据库的更新请求,其中,更新请求中还携带有终端的设备信息;向终端发送与设备信息所匹配的策略文件,以指示终端对接收到的策略文件进行完整性验证,根据通过完整性验证的策略文件,更新本地策略数据库。
可选的,在上述步骤112中,对解析出的策略信息进行完整性验证,并进一步验证已通过完整性验证的策略信息的时效性,将未过时的策略信息确定为有效策略信息。
整体来说,本发明实施例具有如下突出的优势:
第一,在服务器侧,本发明实施例能够支持多种访问控制策略且能够根据系统需要对访问控制策略进行动态调整,还可以针对不同类型的终端(如设备型号不同、设备所属区域不同等)预先设置对应的控制策略,例如,针对Android5.0 1920*1080分辨率的电视设备+firefox浏览器的这种设备,设置具有针对性的控制策略,而针对Android5.0 1920*1080分辨率的智能手机的这种设备,设置另一套具有针对性的控制策略,这样,当不同类型的终端请求访问同一目标网页时,终端可以有效并快速的筛选出符合自身访问权限的资源和内容进行加载及显示,当然,由于服务器端可以针对各种不同类型的终端设置有多种控制策略,对于两个完全相同的终端,如果终端A处于a区域,而终端B处于b区域,此时服务器也可以基于终端所处区域为这两个完全相同的终端下发不同类型的控制策略,从而能够支持多种访问控制策略同时使用。
第二,在终端侧,本发明实施例能在终端中的浏览器加载网页资源和执行脚本时,由于策略信息描述了浏览器访问服务器的权限,主要包含了有效期限、安全策略、显示策略、执行策略等字段,因此可以在终端侧实现对网页或页面内资源的细粒度动态控制;尤其的,当用户(或第三方软件)恶意篡改网页请求所请求的目标网页地址或其他相关内容时,由于网页请求中的策略信息不会随之改变,提升了网页访问的安全性;
综上,本发明改变了由网页开发人员直接设定访问控制权限的方法,实现开发人员和网站权限管理人员职责的分离,从而实现了从终端侧和服务器侧同时对访问控制权限进行限制,从而进一步控制了用户访问行为,加强了安全性,同时还可以通过调整策略信息的方式,对用户访问行为进行不同粒度的控制。
下面对本发明实施例进行详细描述。
图2(a)示出了本发明实施例中的一种响应网页请求的整体流程示意图,图2(b)示出了本发明实施例中的一种响应网页请求的系统架构示意图,图2(c)示出了本发明实施例中的一种策略信息的结构示意图。
参照图2(a),本发明实施例仅以终端内的浏览器为例,对从请求网页到完成显示加载的过程进行举例描述。当然,本发明实施例也可以适用于内嵌有浏览器的其他应用程序,其实现原理与本发明实施例的实现方式一致,这里不再一一赘述。
步骤S201:浏览器向服务器请求网页。
步骤S202:服务器下发策略文件。
步骤S203:浏览器解析策略文件,更新本地策略。
步骤S204:浏览器附加策略信息并向服务器请求网页。
步骤S205:服务器下发网页。
步骤S206:浏览器解析网页并显示。
参照图2(b),本发明实施例仍以终端内的浏览器为例,对浏览器和服务器之间的交互进行详细描述。
在本发明实施例中,浏览器可以是一种可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的软件,其可以至少包括策略解析校验模块、策略信息管理模块和策略执行控制模块。
其中,策略解析校验模块,可以负责对浏览器接收到的策略文件进行解析和校验,并将解析后的策略信息发送给策略信息管理模块;还可以负责根据本地策略信息对网页资源进行校验,判断数据有效性,并将符合策略要求的有效网页资源发送给策略执行控制模块。
策略信息管理模块,可以负责维护一个数据库,作为本地策略;负责根据策略解析校验模块提供的策略信息,对本地策略进行增、删、改、查等功能。
策略执行控制模块,可以负责根据本地策略对网页资源进行遍历,对可以使用和执行的网页资源进行标记。
在本发明实施例中,服务器可以是指Web服务器,是可以向发出请求的浏览器提供文档的程序,浏览器连到服务器上并请求文件或资源时,服务器将处理该请求并将文件或资源反馈到该浏览器上。
策略权限校验模块,集成了策略校验算法,可以负责判断是否网页请求中含有策略;还可以负责判断网页请求中附加的策略信息是否完整有效;还可以负责判断策略信息是否过时;还可以负责将策略信息发送给页面资源管理模块。
策略授权管理模块,可以负责根据网页请求和网站权限管理人员设定的访问控制算法,动态生成策略文件。
页面资源管理模块,可以负责根据策略信息,查询服务器资源数据库,获取对应的网页资源。
下面对本发明实施例中的策略信息、策略文件、本地策略等概念进行详细介绍。
在本发明实施例中,策略文件是指服务器针对某个特定浏览器下发的权限文件。该文件可以以XML文件格式进行表示,描述了浏览器访问服务器的权限,主要包含了有效期限、安全策略、显示策略、执行策略等字段。其中,有效期限定义了策略文件的过期时间;安全策略定义了浏览器可获取的服务器网页资源的权限级别,即网页资源是否可以被浏览器获取;显示策略定义了请求网页资源的设备和浏览器的类型组合,比如Android5.0 1920*1080分辨率的电视设备+firefox浏览器;执行权限定义了浏览器在加载、显示网页资源时的建议规则。其中,上述各字段的具体属性值可以为加密值,确保不可被篡改。可见,本发明实施例中的策略信息不仅限定了浏览器访问目标网页的权限,还可以进一步利用其中的预留字段限制浏览器加载、显示网页的规则,也可以利用预留字段限制浏览器加载、显示网页的时限等等,当然,本发明实施例还可以通过保留的字段对其他规则或权限进行限定,这里不再一一举例描述。
在本发明实施例中,本地策略是由浏览器维护的一个本地数据库,可以根据域名进行分类,存储了不同服务器下发的策略文件的具体内容,以供浏览器请求网页时使用。
在本发明实施例中,策略信息在网页请求/响应中的传递是通过生成一个长度为256bit的数字串来传递的,参见图2(c),策略信息是一个1024bit的数字串。前64bit是时间字段,描述了对应策略文件的有效期限。中间的704bit是内容字段,描述了策略文件中的各类权限,每64bit为一个权限类型,最多描述10个权限类型,所有权限描述完成后,用零位补满。最后256bit是校验字段,是根据前768bit生成的校验码,作用在于保证传输的完整性和准确性,避免信息被篡改。当然,上述策略信息的结构仅为一种优选的实现方式,在实际应用中,可以根据实际需求或不同协议的规定进行定义,这里仅以上述结构为例进行举例描述,而其中每个字段还可表征不同的含义(也就是说,不限于描述有效期限、权限类型、校验码等内容),这里不再一一赘述。
可见,本发明实施例可以提供一种更新浏览器本地策略的方案,同时还提供了一种携带有策略信息的网页请求方案。下面分别对上述两方案进行举例描述。
首先,介绍本发明实施例提供的一种更新浏览器本地策略的流程。
图3(a)示出了本发明实施例中的一种更新浏览器本地策略的流程示意图,如图3(a)所示,并基于图2(a)所示出的整体流程和图2(b)所示出的系统架构,该流程可以包括:
步骤S301:浏览器调用策略信息管理模块查询策略信息。
步骤S302:浏览器根据策略信息发送网页请求。
步骤S303:策略权限校验模块根据服务器策略校验算法校验网页请求,判断请求不含策略信息或策略信息无效,通知策略授权管理模块。
步骤S304:策略授权管理模块根据网页请求和网站权限管理人员设定的访问控制算法,动态生成策略文件,并下发给浏览器。
步骤S305:策略解析校验模块对策略文件进行校验和解析,并将解析后的策略信息发送给策略信息管理模块。
步骤S306:策略信息管理模块根据策略信息内容更新本地策略后,通知浏览器再次请求网页。
然后,介绍本发明实施例提供的一种携带有策略信息的网页请求的流程。
图3(b)示出了本发明实施例中的一种携带有策略信息的网页请求流程示意图,如图3(b)所示,并基于图2(a)所示出的整体流程和图2(b)所示出的系统架构,该流程可以包括:
步骤S311:浏览器调用策略信息管理模块查询策略信息。
步骤S312:浏览器根据策略信息发送网页请求。
步骤S313:策略权限校验模块根据服务器策略校验算法校验网页请求,判断请求含有有效的策略信息,通知页面资源管理模块。
步骤S314:页面资源管理模块根据策略信息的内容,查询服务器资源数据库,获取对应的网页资源,并将网页资源下发给浏览器。
步骤S315:策略解析校验模块调用策略信息管理模块查询本地策略,保证网页资源中附加的策略信息与网页请求中的策略信息一致。
步骤S316:策略解析校验模块调用策略执行控制模块根据本地策略对网页资源进行遍历,对可以使用和执行的网页资源进行标记。
步骤S317:策略执行控制模块标记完成后,调用浏览器完成网页显示。
进一步的,本发明实施例还提供了一种服务器的策略校验算法的流程,详细描述了服务器策略权限校验模块的策略校验算法。图4示出了本发明实施例中的一种服务器的策略校验算法的流程示意图,如图4所示,该算法的流程如下:
步骤41:服务器解析网页请求。
步骤42:判断网页请求中是否含有策略信息,如果是,则执行步骤43,否则执行步骤48。
步骤43:判断策略信息是否完整有效,如果是,则执行步骤44,否则执行步骤47。
步骤44:解析策略信息内容。
步骤45:判断策略信息是否过期,如果是,则执行步骤48,否则继续执行步骤46。
步骤46:将策略信息通知页面资源管理模块,并结束流程。
步骤47:异常情况,将异常页面反馈给浏览器,并结束流程。
步骤48:将网页请求通知策略授权管理模块,并结束流程。
当然,本发明实施例仅以上述算法为例对服务器策略权限校验模块的策略校验算法进行举例描述,在实际应用中,可以根据实际需求对策略校验算法进行调整,这里不再一一赘述。
从上述技术方案可以看出,本发明提供了一种基于策略信息进行网页请求和响应的方案,首先,终端向服务器上报携带有策略信息的网页请求,由服务器根据有效的策略信息响应该网页请求,然后,终端再选取出符合上述策略信息的网页资源进行加载及显示。可见,在本发明中,服务器只有在接收到携带有有效策略信息的网页请求时,才会将终端请求访问的目标网页资源响应给终端,从而实现了从服务器端对用户访问权限的控制;而终端在接收到服务器所响应的目标网页资源之后,还需要进一步选取出符合策略信息的网页资源进行加载及显示,由于本发明中的策略信息描述了终端访问服务器或目标网页的权限,在访问权限中,不仅可以包括指示服务器响应目标网页资源的权限,还可以包括终端在接收到服务器响应的网页资源之后,从接收到的网页资源中选取出的符合策略信息的规定的网页资源进行加载或显示,从而实现了从终端侧进一步对用户访问权限的控制,而且,本发明还可以通过调整策略信息中所包含的权限内容的方式,对用户访问行为进行不同粒度的控制。
基于相同的技术构思,本发明实施例还提供了一种终端,图5示出了本发明实施例中的一种终端的结构示意图,如图5所示,该终端可以包括:
请求单元51,用于向服务器发送携带有请求访问的目标网页的标识和策略信息的网页请求,其中,所述策略信息用于表明所述终端访问所述目标网页的权限;
处理单元52,用于接收所述服务器响应的网页资源,并选取出符合所述策略信息所规定的权限的网页资源进行显示;其中,由所述服务器所响应的网页资源是所述服务器在识别出所述网页请求中的策略信息为有效的策略信息之后,根据获取到的与所述目标网页标识对应的网页资源进行响应的。
基于相同的技术构思,本发明实施例还提供了一种服务器,图6示出了本发明实施例中的一种服务器的结构示意图,如图6所示,该服务器可以包括:
解析单元61,用于接收并解析终端发送的网页请求;
响应单元62,用于在识别出所述网页请求中携带有请求访问的目标网页的标识和有效的策略信息时,获取与所述目标网页标识对应的网页资源,根据获取到的网页资源响应所述终端所发送的网页请求,以指示所述终端在接收所述服务器响应的网页资源之后,选取出符合所述策略信息的网页资源进行显示;其中,所述策略信息用于表明所述终端访问所述目标网页的权限。
基于相同的技术构思,本发明实施例还提供了一种网页请求及响应系统,图7示出了本发明实施例中的一种网页请求及响应系统的结构示意图,如图7所示,该系统可以包括:
终端71,用于向服务器发送携带有请求访问的目标网页的标识和策略信息的网页请求,其中,所述策略信息用于表明所述终端访问所述目标网页的权限;接收所述服务器响应的网页资源,并选取出符合所述策略信息所规定的权限的网页资源进行显示;
服务器72,用于接收并解析终端发送的网页请求;在识别出所述网页请求中携带有请求访问的目标网页的标识和有效的策略信息时,获取与所述目标网页标识对应的网页资源,根据获取到的网页资源响应所述终端所发送的网页请求。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。