访问请求鉴权的方法及系统的制作方法_3

文档序号:9600834阅读:来源:国知局
求。
[0058]步骤S31,⑶N服务器判断访问请求中URL中的加密格式是否正确,时间戳是否有效,在加密不正确或者时间戳无效的情况下,执行步骤S32,在加密格式正确、时间戳有效的请求下,执行步骤S33。
[0059]具体地,上述步骤S31对访问请求的URL进行时间错防盗链校验,主要包括唯一 ID加密串正确性和时间戳是否过期校验。
[0060]步骤S32,拒绝客户端的访问,需要说明的是,如果访问请求的URL的加密格式或是时间戳不正确的话,则说明盗链者的盗链方式不高明,CDN服务器则直接拒绝客户端的访问请求。
[0061]步骤S33,⑶N服务器判断本地缓存是否缓存ID与IP地址的对应关系,在是的情况下,执行步骤S34,在否的情况下,执行步骤S35。
[0062]需要说明的是,上述ID为用户的访问请求URL所携带的ID。
[0063]步骤S34,⑶N服务器判断本地缓存的ID与IP地址与访问请求的URL携带的ID与IP地址是否相同,在相同的情况下,执行步骤S341,在不相同的情况下,执行步骤S342。
[0064]步骤S341,鉴权通过,正常响应客户端。
[0065]步骤S342,鉴权不通过,对客户端进行限速
[0066]步骤S35,⑶N服务器将访问请求发送至鉴权服务器,由鉴权服务器对该访问请求进行鉴权。
[0067]具体地,若该访问请求的URL携带的ID和IP之间的对应关系没有在⑶N服务器本地缓存,则CDN服务器则向鉴权服务器发起鉴权请求,并对URL携带的ID和IP的对应关系在⑶N边缘节点做本地缓存处理。
[0068]步骤S36,⑶N服务器接收鉴权服务器反馈的鉴权结果,根据鉴权结果响应客户端。
[0069]具体地,若鉴权服务器响应的鉴权结果是鉴权未通过,则CDN边缘节点对响应给客户端的内容做限速处理。具体地,若鉴权服务器响应的鉴权结果是鉴权通过,则CDN服务器正常响应内容给客户端。
[0070]如图3所示,鉴权服务器对访问请求进行鉴权的步骤可以为如下:
[0071]步骤S40,鉴权服务器接收⑶N服务器发送的鉴权请求。
[0072]步骤S41,鉴权服务器判断本地是否缓存访问请求的ID与IP的对应关系,在是的情况下,执行步骤S42,在否的情况下,执行步骤S43。
[0073]需要说明的是,上述ID为用户的访问请求URL所携带的ID。
[0074]步骤S42,在鉴权服务器中缓存的ID与IP地址与访问请求的URL携带的ID与IP地址相同的情况下,执行步骤S421,在不同的情况下,执行步骤S422。
[0075]步骤S421,鉴权通过,鉴权服务器将鉴权结果发送至⑶N服务器。
[0076]步骤S422,鉴权不通过,鉴权服务器将鉴权结果发送至⑶N服务器。
[0077]步骤S43,鉴权通过,鉴权服务器将访问请求的URL携带的ID与IP地址之间的对应关系进行缓存。
[0078]步骤S44,鉴权服务器将鉴权结果发送至⑶N服务器。
[0079]实施例二
[0080]本发明实施例还提供了一种访问请求鉴权的系统,该系统可以用于执行上述实施例一的方法,如图4所示,该系统可以包括:客户端20、⑶N服务器22和鉴权服务器24。
[0081]客户端20,用于发送访问终端的访问请求,其中,访问请求至少用于标识访问请求的第一标识。
[0082]⑶N服务器22,用于接收访问请求,如果在⑶N服务器的本地缓存中查询到第一标识,CDN服务器在本地对访问请求进行鉴权,如果在CDN服务器的本地缓存中没有查询到第一标识,CDN服务器将访问请求进行转发,其中,鉴权用于确定访问请求的合法性。
[0083]具体地,在本方案中,上述访问请求可以为URL请求,上述第一标识可以为包含在URL请求中的一个ID,该ID用于标识用户的每次访问请求,该ID可以通过如下方案生成:用户在通过客户端访问CDN服务器时,上述客户端可以将用户访问请求的UR1、时间戳、随机数串以及KEY四者使用不可逆加密算法加密,生成用于标识上述URL请求的ID,然后将上述ID、明文的时间戳和随机数串插在URL域名后面,生成一个具有唯一性的资源请求URL,然后客户端将上述包含了的ID的资源请求URL发送至CDN服务器,需要说明的是,本申请中的⑶N服务器可以为⑶N节点服务器,也可以为⑶N边缘服务器。
[0084]需要说明的是,URL请求的ID的生成方法不限于上述方式,ID的生成方案只要能达到ID的唯一性即可。
[0085]例如,用户A通过客户端(合法客户端或非法客户端)访问⑶N服务器,在⑶N服务器接收到的用户A的访问请求的URL中,包含着标识访问请求的ID,时间戳、随机数串。用户 A 的访问请求 URL 可以为如下不例:http://wstest.com.cn/a.flv ? k = 68b329da9893e34099c7d8ad5cb9c940&t = 554afcb4&U ID = 11111111 ;k 为唯一 ID,其中 t 为时间戳,UID为随机串)。这里需要说明的是,如果用户A通过一个合法的客户端(例如门户网站)访问CDN服务器时,CDN服务器所接收到的URL请求为上述合法的客户端针对用户的访问请求生成,如果用户A通过一个非法的客户端(第三方盗链网站)访问⑶N服务器时,⑶N服务器所接收到的URL请求为上述非法的客户端盗取或伪造的。
[0086]需要说明的是,本申请的方案,只需要对系统客户端进行轻量级的开发,对CDN源服务器中的代码结构以及业务逻辑无需做任何改变,客户端中的播放器端可以发起使用md5sum(时间戳+随机数串+KEY)作为随机目录的请求,因此在本方案中,播放器端只需做轻量级开发,节省了开发人员的资源。
[0087]可选的,在本方案中,上述⑶N服务器可以先从本地缓存进行查询,在本地缓存中查询到包含上述ID情况下,则由上述CDN服务器按照预设的鉴权策略对用户的本次访问请求进行鉴权,即确定上述用户的访问请求为合法访问请求还是盗链的访问请求。
[0088]需要说明的是,如果任意用户之前通过正常的客户端(例如门户网站)访问了⑶N服务器,那么在CDN服务器中则会缓存着合法用户的访问请求的ID以及合法用户的访问请求的ID对应的访问终端的IP地址,所以在上述步骤S14中,如果⑶N服务器的本地缓存中保存有合法用户的访问请求的ID,那么CDN服务器可以用于鉴定本次访问请求的合法性,如果CDN服务器的本地缓存中保存有合法用户的访问请求的ID,CDN服务器将访问请求进行转发。
[0089]鉴权服务器24,与⑶N服务器建立通信关系,对⑶N服务器转发的访问请求进行鉴权。
[0090]具体地,在本方案中,如果⑶N服务器的本地缓存中没有第一标识,⑶N服务器将向鉴权服务器发起鉴权请求,由鉴权服务器对上述访问请求进行鉴权。
[0091 ] 本实施例首先通过CDN服务器接收访问终端的访问请求,其中,访问请求至少包括用于标识访问请求的第一标识;如果在CDN服务器的本地缓存中查询到第一标识,CDN月艮务器在本地对访问请求进行鉴权,其中,鉴权用于确定访问请求的合法性;如果在CDN服务器的本地缓存中没有查询到第一标识,CDN服务器将访问请求发送至鉴权服务器进行鉴权,解决了现有的回源鉴权的防盗链方法在任何情况下都只依靠鉴权服务器来对盗链请求进行识别,造成鉴权服务器负荷过大的问题。
[0092]可选地,访问请求还包括访问终端的IP地址,其中,上述⑶N服务器22可以包括:第一处理器,用于判断本地缓存的至少一个IP地址是否包括访问终端的IP地址,其中,至少一个IP地址与第一标识具有对应关系;在包括的情况下,CDN服务器确定访问请求为合法请求;在不包括的情况下,CDN服务器确定访问请求为盗链请求。
[0093]可选地,上述鉴权服务器还可以包括:第二处理器,如果在鉴权服务器的本地缓存中没有查询到第一标识,鉴权服务器确定访问请求为合法请求,并缓存第一标识与访问终端的IP地址之间的对应关系;如果在鉴权服务器的本地缓存中查询到包含第一标识,鉴权服
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1