资源请求处理方法、装置和系统与流程

专利2022-06-30  67


本发明涉及互联网防盗链技术领域,尤其涉及一种资源请求处理方法、装置和系统。



背景技术:

互联网行业处于内容安全和带宽成本的考虑,对盗链问题越来越重视,也提出各种防盗链方案。

在cdn行业,目前防盗链的解决方案除了对视频内容加密(如drm)外,其他都是基于请求行为本身做防盗链,比如referer防盗链、ua鉴权、url加鉴权参数等,对于这些解决方案,盗链者仍然可以通过逆向解析加密算法、或者通过观察比对合法请求进行伪造,甚至直接拷贝合法url进行盗链,比如请求时使用合法的referer、ua等httprequestheader,或者直接访问合法用户请求的url,因此,防盗链的解决方案非常容易被破解。



技术实现要素:

为了解决上述问题,本发明提供一种资源请求处理方法、装置和系统,大大提高防盗链被破解的难度。

本申请第一方面提供一种资源请求处理方法,包括:

第二类型服务器处理第一类型服务器发送的第一鉴权请求,所述第一鉴权请求是所述第一类型服务器在接收客户端发起的第一资源请求之后向所述第二类型服务器发起的鉴权请求;

所述第二类型服务器在所述第一鉴权请求鉴权通过后,通过所述第一类型服务器向所述客户端发送鉴权信息,以使所述客户端根据所述鉴权信息向第一类型服务器发送第二资源请求;

所述第二类型服务器从第一类型服务器接收第二鉴权请求,并处理所述第二鉴权请求,在鉴权通过后,向所述第一类型服务器发送鉴权通过结果,以使所述第一类型服务器根据所述鉴权通过结果向所述客户端提供资源。

可选地,所述第二类型服务器在所述第一鉴权请求鉴权通过后还包括:

所述第二类型服务器将所述鉴权信息进行缓存,所述鉴权信息是唯一的,且具有缓存时间信息。

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

所述第二类型服务器根据所述鉴权信息中的缓存时间信息,在确定缓存所述鉴权信息的时间超过缓存时间时,确定所述鉴权信息失效,并删除缓存的所述鉴权信息。

可选地,所述第二类型服务器从第一类型服务器接收第二鉴权请求,并处理所述第二鉴权请求包括:

所述第二类型服务器确定所述第二鉴权请求中携带的鉴权信息与所述缓存中的鉴权信息一致,则确定所述第二鉴权请求鉴权通过。

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

所述第二类型服务器在所述第二鉴权请求鉴权通过后,将缓存的所述鉴权信息予以删除。

可选地,所述鉴权信息包含在资源下载地址中。

本申请第二方面还提供一种资源请求处理方法,包括:

第一类型服务器在接收客户端发起的第一资源请求之后向第二类型服务器发起的第一鉴权请求;以使所述第二类型服务器在所述第一鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权信息;

所述第一类型服务器向所述客户端发送所述鉴权信息,以使所述客户端根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

所述第一类型服务器将第二鉴权请求发送给所述第二类型服务器,以使所述第二类型服务器进行所述第二鉴权请求的处理,并在鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

所述第一类型服务器根据所述鉴权通过结果向所述客户端提供资源。

本申请第三方面还提供一种资源请求处理系统,包括:第一类型服务器、第二类型服务器和客户端;

所述客户端,用于向所述第一类型服务器发起第一资源请求;

所述第一类型服务器,用于在接收所述客户端发起的第一资源请求之后向第二类型服务器发起的第一鉴权请求;

所述第二类型服务器,用于处理所述第一鉴权请求鉴权,在所述第一鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权信息;

所述第一类型服务器,还用于向所述客户端发送所述鉴权信息;

所述客户端,还用于根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

所述第一类型服务器,还用于向所述第二类型服务器发起第二鉴权请求;

所述第二类型服务器,还用于从所述第一类型服务器接收第二鉴权请求,并处理所述第二鉴权请求,在鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

所述第一类型服务器,还用于根据所述鉴权通过结果向所述客户端提供资源。

可选地,所述第二类型服务器,还用于在所述第一鉴权请求鉴权通过后,将所述鉴权信息进行缓存,所述鉴权信息是唯一的,且具有缓存时间信息。

可选地,所述第二类型服务器,还用于根据所述鉴权信息中的缓存时间信息,在确定缓存所述鉴权信息的时间超过缓存时间时,确定所述鉴权信息失效,并删除缓存的所述鉴权信息。

可选地,所述第二类型服务器,还用于在处理所述第二鉴权请求时,若确定所述第二鉴权请求中携带的鉴权信息与所述缓存中的鉴权信息一致,则确定所述第二鉴权请求鉴权通过。

可选地,所述第二类型服务器,还用于在所述第二鉴权请求鉴权通过后,将缓存的所述鉴权信息予以删除。

本申请第四方面还提供一种资源请求处理装置,包括:

处理模块,用于处理第一类型服务器发送的第一鉴权请求,所述第一鉴权请求是所述第一类型服务器在接收客户端发起的第一资源请求之后向所述第二类型服务器发起的鉴权请求;

发送模块,用于在所述处理模块处理所述第一鉴权请求鉴权通过后,通过所述第一类型服务器向所述客户端发送鉴权信息,以使所述客户端根据所述鉴权信息向第一类型服务器发送第二资源请求;

接收模块,用于从所述第一类型服务器接收第二鉴权请求;

所述处理模块,还用于处理所述第二鉴权请求;

所述发送模块,还用于在所述处理模块处理所述第二鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权通过结果,以使所述第一类型服务器根据所述鉴权通过结果向所述客户端提供资源。

本申请第五方面还提供一种资源请求处理装置,其特征在于,包括:

接收模块,用于接收客户端发起的第一资源请求;

发送模块,用于在所述接收模块接收所述第一资源请求之后向第二类型服务器发起的第一鉴权请求;以使所述第二类型服务器在所述第一鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权信息;

所述发送模块,还用于向所述客户端发送所述鉴权信息,以使所述客户端根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

所述发送模块,还用于将第二鉴权请求发送给所述第二类型服务器,以使所述第二类型服务器进行所述第二鉴权请求的处理,并在鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

所述发送模块,还用于根据所述鉴权通过结果向所述客户端提供资源。

本申请第六方面还提供一种服务器,包括:存储器、处理器以及通信组件;

所述存储器,用于存储计算机程序;

所述处理器与所述存储器和通信组件耦合,用于执行计算机程序,以用于执行上述第一方面或第二方面所述的方法。

本申请第七方面还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被执行时能够实现上述第一方面或者第二方面所述的方法。

本申请实施例中,对于客户端发起的第一资源请求,必须通过第一类型服务器在验证之后才向第二类型服务器发起第一鉴权请求,这样将第二类型服务器隐藏在第一类型服务器背后的作用是避免将用于鉴权作用的第二类型服务器暴露出来并遭攻击;

进一步地,第二类型服务器在验证第一类型服务器发送的第一鉴权请求鉴权通过后,通过第一类型服务器向客户端发送的包含的鉴权信息(该鉴权信息例如可以携带在资源下载地址中)是唯一的,且鉴权信息具有缓存时间要求的,在确定缓存鉴权信息的时间超过预设的缓存时间要求时,该鉴权信息立即失效,并删除缓存的鉴权信息;最后,第二类型服务器在验证客户端发起的第二鉴权请求鉴权通过后,立即删除缓存的鉴权信息;这样,盗链者无法在短时间内通过复制和伪造令牌进行盗链;因此,本申请的防盗链方案可以大大提高防盗链被破解的难度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的资源请求处理方法的流程示意图;

图2为本发明一实施例提供的资源请求处理系统的结构示意图;

图3为本发明一实施例提供的资源请求处理系统的信令图;

图4为本发明另一实施例提供的资源请求处理装置的结构示意图;

图5为本发明另一实施例提供的服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

术语解释:

客户端:请求发起方,可以是应用app、播放器、浏览器等工具;

cdn系统:contentdeliverynetwork,即内容分发网络,站在客户端角度,cdn系统是请求的连接方和资源提供者;

中心鉴权系统:区别于cdn系统的分布式特点,中心鉴权系统采用中心式架构,便于用户鉴权信息的收敛和汇总;

鉴权缓存数据:存放和维护鉴权信息。

需要说明的是,下文中第一类型服务器可以是cdn系统中进行资源备份和/或提供资源的服务器,第二类型服务器是预设的鉴权服务器。客户端发起资源请求时进行信息交互的第一类型服务器和客户端发起第二鉴权请求时进行信息交互的第一类型服务器可以是同一个服务器,也可以是不同的服务器,但都属于cdn系统中的上述第一类型服务器。

图1为本发明一实施例提供的资源请求处理方法的流程示意图,如图1所示:

101、客户端向第一类型服务器发起第一资源请求;

其中,第一资源请求中可以包括客户端的用户信息;

102、第一类型服务器在第一资源请求通过后,向第二类型服务器发起第一鉴权请求;

通常,第一类型服务器可以对第一资源请求进行常规验证,例如验证用户信息是否是可以请求资源下载的授权用户信息,如果验证没有通过则直接返回客户端验证失败的信息。

需要说明的是,假设验证第一资源请求通过之后,本申请中第一类型服务器并没有权限发送资源给客户端,因为发起第一资源请求的客户端有可能是盗链者通过复制和伪造用户信息进行盗链的,为了保证将资源发送给真正合法的授权用户,第一类型服务器需要向第二类型服务器发起第一鉴权请求,以便第二类型服务器进行第一鉴权请求处理验证。其中,在第一鉴权请求中包括用户id和密码,可选地,在第一鉴权请求中还可以一并携带有统一资源标识符(uniformresourceidentifier,uri)、请求时间、请求ip地址等信息。

103、第二类型服务器处理第一类型服务器发送的第一鉴权请求,并在第一鉴权请求鉴权通过后,通过第一类型服务器向客户端发送鉴权信息。

可选地,本申请中,该鉴权信息可以包含在资源下载地址中;

具体地,可以验证第一鉴权请求中的用户id和密码,如果验证成功,则可以进一步验证该用户是否对该uri有访问权限,如果有,则向第一类型服务器返回验证第一鉴权请求成功的信息,其中,验证第一鉴权请求成功的信息中例如可以包含有鉴权信息的资源下载地址,这里的资源下载地址是客户端可以真实下载资源的统一资源定位符(uniformresourcelocator,url);之后,第一类型服务器将包含有鉴权信息的资源下载地址发送给客户端。

需要说明的是,本申请中,当第二类型服务器对第一鉴权请求鉴权通过之后,需要将鉴权信息(或者包含有鉴权信息的资源下载地址)进行缓存,其中,所述鉴权信息是唯一的,且具有缓存时间信息,鉴权信息中可以包括用户信息以及第二类型服务器为该用户信息配置的唯一的安全令牌,且第二类型服务器配置该安全令牌在指定的时间内失效(比如缓存1分钟后失效);第二类型服务器根据鉴权信息中的缓存时间信息,在确定缓存所述鉴权信息的时间超过缓存时间时,确定所述鉴权信息失效,并删除缓存的包含有鉴权信息的资源下载地址。这样可以保证盗链者在短时间内很难盗取安全令牌进行资源请求。

如果第二类型服务器对第一鉴权请求鉴权没有通过,则通过第一类型服务器向返回客户端验证失败的信息。

104、客户端根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

105、第一类型服务器向所述第二类型服务器发起第二鉴权请求;

具体地,例如客户端根据接收到第一类型服务器发送的包含有鉴权信息的资源下载地址时,可以向第一类型服务器发起第二资源请求,从而使得第一类型服务器向第二类型服务器发起第二鉴权请求,其中,第二鉴权请求中携带的鉴权信息包括客户端输入的鉴权信息(如用户信息和令牌)。

第一类型服务器可以对用户信息进行验证,假设用户信息验证通过,则将客户端输入的令牌携带在第二鉴权请求中发给第二类型服务器进行验证。

106、第二类型服务器处理所述第二鉴权请求,在第二鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

具体的,第二类型服务器根据第二鉴权请求中携带的鉴权信息,若确定所述第二鉴权请求中携带的鉴权信息与所述缓存中的鉴权信息一致,则确定所述第二鉴权请求鉴权通过,例如,第二类型服务器根据第二鉴权请求中携带的令牌,若确定缓存中是否存在与第二鉴权请求中携带的令牌一致的安全令牌,若存在则鉴权通过,若不存在则鉴权失败。

需要说明的是,第二类型服务器在第二鉴权请求鉴权通过后,可以将上述缓存的鉴权信息(或者包含有鉴权信息的资源下载地址)予以删除,也就是说,第二类型服务器在第二鉴权请求鉴权通过后,需要将第二类型服务器为该资源下载地址配置的唯一的安全令牌失效,这样可以保证盗链者根本无法盗取安全令牌进行资源请求。

107、第一类型服务器根据鉴权通过结果向客户端提供资源。

当第一类型服务器接收到第二类型服务器发送的鉴权通过结果之后,说明请求资源的用户是真正的授权用户,此时第一类型服务器可以向所述客户端提供资源。

本申请实施例中,对于客户端发起的第一资源请求,必须通过第一类型服务器在验证之后才向第二类型服务器发起第一鉴权请求,这样将第二类型服务器隐藏在第一类型服务器背后的作用是避免将用于鉴权作用的第二类型服务器暴露出来并遭攻击;

进一步地,第二类型服务器在处理第一类型服务器发送的第一鉴权请求鉴权通过后,通过第一类型服务器向客户端发送的鉴权信息(或者包含有鉴权信息的资源下载地址)是唯一的,且具有缓存时间要求的,在确定缓存鉴权信息的时间超过预设的缓存时间要求时,该鉴权信息立即失效,并删除缓存的鉴权信息(或者包含有鉴权信息的资源下载地址);最后,第二类型服务器在处理第一类型服务器发起的第二鉴权请求鉴权通过后,立即删除缓存的鉴权信息(或者包含有鉴权信息的资源下载地址);这样,盗链者无法在短时间内通过复制和伪造令牌进行盗链;因此,本申请的资源请求方案可以大大提高防盗链被破解的难度。

图2为本发明一实施例提供的资源请求处理系统的结构示意图;如图2所示包括:第一类型服务器、第二类型服务器和客户端;

所述第一类型服务器,用于接收客户端发起的第一资源请求之后向第二类型服务器发起的第一鉴权请求;

所述第二类型服务器,用于处理所述第一鉴权请求,并在所述第一鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权信息;

所述第一类型服务器,还用于向所述客户端发送所述鉴权信息;

所述客户端,用于根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

所述第一类型服务器,还用于将第二鉴权请求发送给所述第二类型服务器进行处理;

所述第二类型服务器,还用于从第一类型服务器接收第二鉴权请求,并处理所述第二鉴权请求,在鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

所述第一类型服务器,还用于根据所述鉴权通过结果向所述客户端提供资源。

可选地,所述第二类型服务器,还用于在通过所述第一鉴权请求后,将所述鉴权信息进行缓存,所述鉴权信息是唯一的,且具有缓存时间信息。

可选地,所述第二类型服务器,还用于根据所述鉴权信息中的缓存时间信息,在确定缓存所述鉴权信息的时间超过缓存时间时,确定所述鉴权信息失效,并删除缓存的所述鉴权信息。

可选地,所述第二类型服务器,还用于确定所述第二鉴权请求中携带的鉴权信息与所述缓存中的鉴权信息一致,则确定所述第二鉴权请求鉴权通过。

可选地,所述第二类型服务器,还用于在所述第二鉴权请求鉴权通过后,将缓存的所述鉴权信息予以删除。。

下面通过具体举例来说明本发明资源请求处理系统的具体实现方式。

图3为本发明一实施例提供的资源请求处理系统的信令图;如图3所示,包括:

1、为了防止中心鉴权系统暴露在外面导致被恶意攻击,需要客户端以https协议访问一个备份域名:

https://hosta/uri?token1&token2(userid/password);

其中,token1可以是任何现有的鉴权格式。

其中,token2可以等于md5(userid password)。

2、cdn系统对token1做鉴权,鉴权不通过返回客户端。鉴权通过则把请求url、请求时间、请求ip发送给中心鉴权系统。

3.1、中心鉴权系统提取uri和token2,将做三个操作:

a、比对token2的值,确认userid和password是否正确;

b、如果步骤a通过,确认该用户对该uri是否有访问权限;

c、将鉴权结果返回cdn系统,如果鉴权不通过返回客户端,如果鉴权通过,则返回带有新的token3、token4(唯一)鉴权加密串的资源真实下载url:https(rtmp)://hostb/uri?token3&token4。

这里hostb是资源真正的域名(资源真实下载地址),token3是hostb域名的常规鉴权加密串。token4是中心鉴权系统配置给该资源真实下载地址url的令牌,该令牌唯一且在指定的时间内(比如1分钟)失效。

3.2中心鉴权系统将用户信息及token4令牌缓存起来,指定时间后该信息将自动删除。

4、cdn系统将带有token3、token4鉴权加密串的资源真实下载地址url返回客户端,如资源真实下载地址url为:

https(rtmp)://hostb/uri?token3&token4。

5、客户端发起新的资源请求,其中携带有token3、token4鉴权加密串的资源真实下载url,https(rtmp)://hostb/uri?token3&token4。

6、cdn系统对token3进行校验,若token3校验通过则到中心鉴权系统进行token4鉴权校验。若token3鉴权不通过则返回客户端。

7、中心鉴权系统在鉴权缓存数据中查询token4的令牌记录,若匹配到则说明鉴权通过,且删除该鉴权url的缓存信息。若查找不到,则鉴权不通过。

8、中心鉴权系统把鉴权结果返回给cdn系统。

9、若鉴权通过,则cdn系统将请求url的资源返回客户端。鉴权不通过则拒绝客户端的资源访问。

因此,本实施例中的中心鉴权系统会给每个合法用户发放只能使用一次的“令牌”(也就是token4),当合法用户正常请求后该令牌会被立即销毁。盗链者无法通过复制和伪造令牌进行盗链。同时为了防止中心鉴权暴露出来并遭攻击,中心鉴权系统隐藏在cdn系统后面,客户端无法感知,因为且对中心鉴权系统的每次请求都需要先通过cdn系统的常规鉴权(token1\token3)。

图4为本发明另一实施例提供的资源请求处理装置的结构示意图,位于第二类型服务器(中心鉴权系统)侧,如图4所示,包括:

处理模块,用于处理第一类型服务器发送的第一鉴权请求,所述第一鉴权请求是所述第一类型服务器在接收客户端发起的第一资源请求之后向所述第二类型服务器发起的鉴权请求;

发送模块,用于在所述处理模块处理所述第一鉴权请求鉴权通过后,通过所述第一类型服务器向所述客户端发送鉴权信息,以使所述客户端根据所述鉴权信息向第一类型服务器发送第二资源请求;

接收模块,用于从所述第一类型服务器接收第二鉴权请求;

所述处理模块,还用于处理所述第二鉴权请求;

所述发送模块,还用于在所述处理模块处理所述第二鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权通过结果,以使所述第一类型服务器根据所述鉴权通过结果向所述客户端提供资源。

可选地,所述的装置还包括:

缓存模块,用于将所述鉴权信息进行缓存,所述鉴权信息是唯一的,且具有缓存时间信息。

可选地,所述的装置还包括:

删除模块,用于根据所述鉴权信息中的缓存时间信息,在确定缓存所述鉴权信息的时间超过缓存时间时,确定所述鉴权信息失效,并删除缓存的所述鉴权信息。

可选地,所述处理模块具体用于:确定所述第二鉴权请求中携带的鉴权信息与所述缓存中的鉴权信息一致,则确定所述第二鉴权请求鉴权通过。

可选地,所述删除模块,还用于在所述第二鉴权请求鉴权通过后,将缓存的所述鉴权信息予以删除。

可选地,所述鉴权信息可以包含在资源下载地址中。

本实施例所示装置可以执行上述图1所示方法实施例,其实现原理和技术效果不再赘述。

本申请还提供一种资源请求处理装置,位于第一类型服务器侧,包括:

接收模块,用于接收客户端发起的第一资源请求;

发送模块,用于在所述接收模块接收所述第一资源请求之后向第二类型服务器发起的第一鉴权请求;以使所述第二类型服务器在所述第一鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权信息;

所述发送模块,还用于向所述客户端发送所述鉴权信息,以使所述客户端根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

所述发送模块,还用于将第二鉴权请求发送给所述第二类型服务器,以使所述第二类型服务器进行所述第二鉴权请求的处理,并在鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

所述发送模块,还用于根据所述鉴权通过结果向所述客户端提供资源。

本实施例所示装置可以执行上述图1所示方法实施例,其实现原理和技术效果不再赘述。

图5为本发明另一实施例提供的服务器的结构示意图,位于中心鉴权系统侧,如图5所示,包括:

存储器、处理器以及通信组件;

通信组件,用于接收第一类型服务器(如cdn系统)发送第一鉴权请求;其中,所述第一鉴权请求是所述第一类型服务器在接收客户端发起的第一资源请求之后向所述第二类型服务器发起的鉴权请求;

存储器,用于存储计算机程序;

处理器,与存储器和通信组件耦合,用于执行计算机程序,以用于:

处理第一类型服务器发送的第一鉴权请求;

通信组件,还用于在所述第一鉴权请求鉴权通过后,通过所述第一类型服务器向所述客户端发送鉴权信息,以使所述客户端根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

通信组件,还用于从第一类型服务器接收第二鉴权请求;

处理器,还用于处理所述第二鉴权请求;

通信组件,还用于在所述第二鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权通过结果,以使所述第一类型服务器根据所述鉴权通过结果向所述客户端提供资源。

具体地,存储器,还用于缓存所述鉴权信息,所述鉴权信息是唯一的,且具有缓存时间信息。

处理器,还用于根据所述鉴权信息中的缓存时间信息,在确定缓存所述鉴权信息的时间超过缓存时间时,确定所述鉴权信息失效,并删除缓存的所述包含有鉴权信息(或者包含有鉴权信息的资源下载地址);以及在验证所述第二鉴权请求鉴权通过后,将缓存的鉴权信息(或者包含有鉴权信息的资源下载地址)予以删除。

进一步,如图5所示,服务器还包括:显示器、电源组件、音频组件等其它组件。图5中仅示意性给出部分组件,并不意味着服务器只包括图5所示组件。

本实施例所示服务器可以执行上述图1所示方法实施例,其实现原理和技术效果不再赘述。

本发明另一实施例还提供一种服务器,如位于cdn系统侧,包括:存储器、处理器以及通信组件;

通信组件,用于在接收客户端发起的第一资源请求之后向第二类型服务器发起的第一鉴权请求;以使所述第二类型服务器在所述第一鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权信息;

所述通信组件,还用于向所述客户端发送所述鉴权信息,以使所述客户端根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

所述通信组件,还用于将第二鉴权请求发送给所述第二类型服务器进行所述第二鉴权请求的处理,并在鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

所述通信组件,还用于根据所述鉴权通过结果向所述客户端提供资源。

本实施例的服务器可以执行上述图1所示方法实施例,其实现原理和技术效果不再赘述。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被计算机执行时能够实现上述图1所示方法实施例中与服务器相关的步骤或操作,在此不再赘述。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。


技术特征:

1.一种资源请求处理方法,其特征在于,包括:

第二类型服务器处理第一类型服务器发送的第一鉴权请求,所述第一鉴权请求是所述第一类型服务器在接收客户端发起的第一资源请求之后向所述第二类型服务器发起的鉴权请求;

所述第二类型服务器在所述第一鉴权请求鉴权通过后,通过所述第一类型服务器向所述客户端发送鉴权信息,以使所述客户端根据所述鉴权信息向第一类型服务器发送第二资源请求;

所述第二类型服务器从第一类型服务器接收第二鉴权请求,并处理所述第二鉴权请求,在鉴权通过后,向所述第一类型服务器发送鉴权通过结果,以使所述第一类型服务器根据所述鉴权通过结果向所述客户端提供资源。

2.根据权利要求1所述的方法,其特征在于,所述第二类型服务器在所述第一鉴权请求鉴权通过后还包括:

所述第二类型服务器将所述鉴权信息进行缓存,所述鉴权信息是唯一的,且具有缓存时间信息。

3.根据权利要求2所述的方法,其特征在于,还包括:

所述第二类型服务器根据所述鉴权信息中的缓存时间信息,在确定缓存所述鉴权信息的时间超过缓存时间时,确定所述鉴权信息失效,并删除缓存的所述鉴权信息。

4.根据权利要求2所述的方法,其特征在于,所述第二类型服务器从第一类型服务器接收第二鉴权请求,并处理所述第二鉴权请求包括:

所述第二类型服务器确定所述第二鉴权请求中携带的鉴权信息与所述缓存中的鉴权信息一致,则确定所述第二鉴权请求鉴权通过。

5.根据权利要求4所述的方法,其特征在于,还包括:

所述第二类型服务器在所述第二鉴权请求鉴权通过后,将缓存的所述鉴权信息予以删除。

6.根据权利要求1-5中任一项所述的方法,其特征在于,所述鉴权信息包含在资源下载地址中。

7.一种资源请求处理方法,其特征在于,包括:

第一类型服务器在接收客户端发起的第一资源请求之后向第二类型服务器发起的第一鉴权请求;以使所述第二类型服务器在所述第一鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权信息;

所述第一类型服务器向所述客户端发送所述鉴权信息,以使所述客户端根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

所述第一类型服务器将第二鉴权请求发送给所述第二类型服务器,以使所述第二类型服务器进行所述第二鉴权请求的处理,并在鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

所述第一类型服务器根据所述鉴权通过结果向所述客户端提供资源。

8.一种资源请求处理系统,其特征在于,包括:第一类型服务器、第二类型服务器和客户端;

所述客户端,用于向所述第一类型服务器发起第一资源请求;

所述第一类型服务器,用于在接收所述客户端发起的第一资源请求之后向第二类型服务器发起的第一鉴权请求;

所述第二类型服务器,用于处理所述第一鉴权请求鉴权,在所述第一鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权信息;

所述第一类型服务器,还用于向所述客户端发送所述鉴权信息;

所述客户端,还用于根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

所述第一类型服务器,还用于向所述第二类型服务器发起第二鉴权请求;

所述第二类型服务器,还用于从所述第一类型服务器接收第二鉴权请求,并处理所述第二鉴权请求,在鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

所述第一类型服务器,还用于根据所述鉴权通过结果向所述客户端提供资源。

9.根据权利要求8所述的系统,其特征在于:

所述第二类型服务器,还用于在所述第一鉴权请求鉴权通过后,将所述鉴权信息进行缓存,所述鉴权信息是唯一的,且具有缓存时间信息。

10.根据权利要求9所述的系统,其特征在于:

所述第二类型服务器,还用于根据所述鉴权信息中的缓存时间信息,在确定缓存所述鉴权信息的时间超过缓存时间时,确定所述鉴权信息失效,并删除缓存的所述鉴权信息。

11.根据权利要求10所述的系统,其特征在于:

所述第二类型服务器,还用于在处理所述第二鉴权请求时,若确定所述第二鉴权请求中携带的鉴权信息与所述缓存中的鉴权信息一致,则确定所述第二鉴权请求鉴权通过。

12.根据权利要求11所述的系统,其特征在于:

所述第二类型服务器,还用于在所述第二鉴权请求鉴权通过后,将缓存的所述鉴权信息予以删除。

13.一种资源请求处理装置,其特征在于,包括:

处理模块,用于处理第一类型服务器发送的第一鉴权请求,所述第一鉴权请求是所述第一类型服务器在接收客户端发起的第一资源请求之后向所述第二类型服务器发起的鉴权请求;

发送模块,用于在所述处理模块处理所述第一鉴权请求鉴权通过后,通过所述第一类型服务器向所述客户端发送鉴权信息,以使所述客户端根据所述鉴权信息向第一类型服务器发送第二资源请求;

接收模块,用于从所述第一类型服务器接收第二鉴权请求;

所述处理模块,还用于处理所述第二鉴权请求;

所述发送模块,还用于在所述处理模块处理所述第二鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权通过结果,以使所述第一类型服务器根据所述鉴权通过结果向所述客户端提供资源。

14.一种资源请求处理装置,其特征在于,包括:

接收模块,用于接收客户端发起的第一资源请求;

发送模块,用于在所述接收模块接收所述第一资源请求之后向第二类型服务器发起的第一鉴权请求;以使所述第二类型服务器在所述第一鉴权请求鉴权通过后,向所述第一类型服务器发送鉴权信息;

所述发送模块,还用于向所述客户端发送所述鉴权信息,以使所述客户端根据所述鉴权信息向所述第一类型服务器发起第二资源请求;

所述发送模块,还用于将第二鉴权请求发送给所述第二类型服务器,以使所述第二类型服务器进行所述第二鉴权请求的处理,并在鉴权通过后,向所述第一类型服务器发送鉴权通过结果;

所述发送模块,还用于根据所述鉴权通过结果向所述客户端提供资源。

15.一种服务器,其特征在于,包括:存储器、处理器以及通信组件;

所述存储器,用于存储计算机程序;

所述处理器与所述存储器和通信组件耦合,用于执行计算机程序,以用于执行权利要求1-6中任一项所述的方法,或者执行权利要求7所述的方法。

16.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被执行时能够实现权利要求1-6中任一项所述的方法,或者实现权利要求7所述的方法。

技术总结
本申请提供一种资源请求处理方法、装置和系统。第二类型服务器在处理第一类型服务器发送的第一鉴权请求鉴权通过后,通过第一类型服务器向客户端发送的鉴权信息是唯一的,且具有缓存时间要求的,在确定缓存鉴权信息的时间超过预设的缓存时间要求时,该鉴权信息立即失效,并删除缓存的鉴权信息;最后,第二类型服务器在处理第一类型服务器发起的第二鉴权请求鉴权通过后,立即删除缓存的鉴权信息;这样,盗链者无法在短时间内通过复制和伪造令牌进行盗链;因此,大大提高防盗链被破解的难度。

技术研发人员:范志红
受保护的技术使用者:阿里巴巴集团控股有限公司
技术研发日:2018.11.29
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-56060.html

最新回复(0)