CN107026828A - 一种基于互联网缓存的防盗链方法及互联网缓存 - Google Patents
一种基于互联网缓存的防盗链方法及互联网缓存 Download PDFInfo
- Publication number
- CN107026828A CN107026828A CN201610074679.8A CN201610074679A CN107026828A CN 107026828 A CN107026828 A CN 107026828A CN 201610074679 A CN201610074679 A CN 201610074679A CN 107026828 A CN107026828 A CN 107026828A
- Authority
- CN
- China
- Prior art keywords
- url
- authentication
- resource
- user profile
- unit
- 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.)
- Granted
Links
Classifications
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种基于互联网缓存的防盗链方法,所述方法包括:接收携带有统一资源定位符URL地址的用户请求,所述URL地址中包括用户信息,所请求资源的URL和校验字段;根据所述校验字段对所述用户信息进行鉴权;在所述用户信息鉴权合法时,返回所述所请求资源的URL对应的资源内容。本发明实施例还公开了一种互联网缓存。
Description
技术领域
本发明涉及互联网安全领域,尤其涉及一种基于互联网缓存的防盗链方法及互联网缓存。
背景技术
盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。这种现象常常是一些小网站用来盗取一些有实力的大网站的地址(比如音乐、图片、软件、视频的下载地址),放置在自己的网站中,通过这种方法盗取大网站的空间和流量。
一般网页浏览有一个重要的现象就是一个完整的页面并不是一次全部传送到客户端的。如果用户请求的是一个带有许多图片和其它信息的页面,那么最先的一个Http请求被传送回来的是这个页面的文本,然后通过客户端的浏览器对这个页面的文本进行解释执行,发现其中还有图片,那么客户端的浏览器会再发送一条图片请求,网站处理这个图片请求将对应的图片文件传送到客户端,然后客户端的浏览器会将图片安放到页面的正确位置,就这样一个完整的页面要经过发送多条Http请求才能够被完整的显示。
基于上述这样的页面传送机制,就会产生盗链问题:如果一个网站中没有页面中所含的信息如图片信息,那么它完全可以将这个图片链接到别的网站,客户端的浏览器会发送Http图片请求到本网站后,本网站根据盗取的图片地址从别的网站获取该图片信息返回给客户端。这样没有任何资源的网站就可以利用别的网站的资源来展示给客户端的浏览者,提高了自己的访问量,而大部分浏览者又不会很容易地发现,显然,这对于那个被利用了资源的网站是不公平的。一些不良网站为了不增加成本而扩充自己站点内容,经常盗用其他网站的链接。一方面损害了原网站的合法利益,另一方面又加重了原网站的服务器负担。
互联网缓存是通过静态存储形式进行互联网业务的加速,因此在一定程度上其与网站具备相似性;但是互联网缓存的主要作用是通过存储带宽,提升用户访问速度,即将网站内容本地化存储后直接服务用户,在此过程中,互联网缓存相当于是网站服务器内容的复制品,只是给用户提供用户所请求的内容,没有源网站的校验及监测机制,因此存在严重的被盗链风险。
如图1所示,当用户终端向互联网缓存发送统一资源定位符(URL,UniformResource Locator)地址请求某个资源时,互联网缓存会将存在本地的文件(即该请求URL所对应的文件)返回给用户终端,但由于该文件仅是缓存在本地的一个镜像文件或复制品,当盗链网站盗取所述某个资源的URL后同样发送该URL请求资源时互联网缓存也会正常予以服务。且由于互联网缓存本身没有校验机制,因此就算源网站已将该某个资源的URL做过期处理,互联网缓存并不知晓,导致盗链网站可以长期使用该URL做盗链行为,增加了互联网缓存的安全风险。
发明内容
有鉴于此,本发明实施例期望提供一种基于互联网缓存的防盗链方法及互联网缓存,可以解决互联网缓存被盗链的问题,提升互联网缓存的安全性能。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于互联网缓存的防盗链方法,所述方法包括:
接收携带有统一资源定位符URL地址的用户请求,所述URL地址中包括用户信息,所请求资源的URL和校验字段;
根据所述校验字段对所述用户信息进行鉴权;
所述用户信息鉴权合法时,返回所述所请求资源的URL对应的资源内容。
上述方案中,在所述接收携带有统一资源定位符URL地址的用户请求之后,所述方法还包括:
将所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段。
上述方案中,在确定所述用户信息鉴权合法之前,所述方法还包括:
将携带有所述切割后的校验字段以及包含所述用户信息和所请求资源的URL的字段的认证请求发送给源网站;
接收所述源网站返回的认证结果通知,其中,所述认证结果通知中携带有所述源网站应用所述校验字段对所述用户信息进行鉴权的鉴权结果;
相应的,所述确定所述用户信息鉴权合法,包括:
在所述认证结果通知中携带的鉴权结果是鉴权成功时,确定所述用户信息鉴权合法。
上述方案中,在确定所述用户信息鉴权合法之前,所述方法还包括:
加载源网站提供的加密算法、密钥版本、鉴权密钥;
所述确定所述用户信息鉴权合法,包括:
将所述包含所述用户信息和所请求资源的URL的字段拼接所述密钥版本对应的鉴权密钥生成待校验URL;
用所述密钥版本对应的加密算法对所述待校验URL进行加密生成鉴权字段;
在所述鉴权字段与所述校验字段一致时,确定所述用户信息鉴权合法。
上述方案中,所述所请求资源的URL的字段中还包括有效期;相应的,所述返回所述所请求资源的URL对应的资源内容,包括:
在所述有效期内,返回所述所请求资源的URL对应的资源内容。
上述方案中,在所述接收携带有统一资源定位符URL地址的用户请求之前,所述方法还包括:
在进行传输控制协议TCP三次握手时,进行内核态鉴权,提取握手报文中的TCP/IP五元组,对提取到的所述TCP/IP五元组进行鉴权认证;
若认证通过,则返回建立链接响应;若认证未通过,返回断开链接响应。
一种互联网缓存,所述互联网缓存包括:
接收单元,用于接收携带有统一资源定位符URL地址的用户请求,所述URL地址中包括用户信息,所请求资源的URL,校验字段;
鉴权单元,用于根据所述接收单元接收到的校验字段对所述接收单元接收到的用户信息进行鉴权;
返回单元,用于在所述鉴权单元对所述用户信息鉴权合法时,返回所述接收单元接收到的所请求资源的URL对应的资源内容。
上述方案中,所述互联网缓存还包括切割单元,其中,
所述切割单元,用于将所述接收单元接收到的所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段。
上述方案中,所述互联网缓存还包括发送单元,其中,
所述发送单元,用于将携带有所述切割单元切割后的校验字段以及包含所述用户信息和所请求资源的URL的字段的认证请求发送给源网站;
所述接收单元,还用于接收所述源网站返回的认证结果通知,其中,所述认证结果通知中携带有所述源网站应用所述校验字段对所述用户信息进行鉴权的鉴权结果;
相应的,所述鉴权单元,具体用于在所述接收单元接收到的所述认证结果通知中携带的鉴权结果是鉴权成功时,确定所述用户信息鉴权合法。
上述方案中,所述互联网缓存还包括加载单元,其中,
所述加载单元,用于加载源网站提供的加密算法、密钥版本和鉴权密钥;
所述鉴权单元,具体用于将所述切割单元切割后的包含所述用户信息和所请求资源的URL的字段拼接所述密钥版本对应的鉴权密钥生成待校验URL;用所述密钥版本对应的加密算法对所述待校验URL进行加密生成鉴权字段;在所述鉴权字段与所述校验字段一致时,确定所述用户信息鉴权合法。
上述方案中,所述所请求资源的URL的字段中还包括有效期;相应的,
所述返回单元,具体用于在所述有效期内返回所述所请求资源的URL对应的资源内容。
上述方案中,所述互联网缓存还包括认证单元,其中,
所述认证单元,用于在进行传输控制协议TCP三次握手时,进行内核态鉴权,提取握手报文中的TCP/IP五元组,对提取到的所述TCP/IP五元组进行鉴权认证;
所述返回单元,还用于在所述认证单元认证通过时,返回建立链接响应;在所述认证单元认证未通过时,返回断开链接响应。
本发明实施例提供了一种基于互联网缓存的防盗链方法及互联网缓存,互联网缓存在接收携带有统一资源定位符URL地址的用户请求后,通过远端(源网站)或本地(互联网缓存)鉴权后,在确定所述用户信息鉴权合法时,才返回所述所请求资源的URL对应的资源内容;这样就实现了互联网缓存的防盗链功能,防止了互联网缓存被恶意利用,同时提升了互联网缓存系统的健壮性。
附图说明
图1为现有技术中的一种互联网缓存被盗连流程示意图;
图2为本发明实施例1提供的一种基于互联网缓存的防盗链方法的流程示意图;
图3为本发明实施例1提供的另一种基于互联网缓存的防盗链方法的流程示意图;
图4为本发明实施例1提供的另一种基于互联网缓存的防盗链方法的流程示意图;
图5为本发明实施例2提供的一种互联网缓存的结构框图;
图6为本发明实施例2提供的另一种互联网缓存的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了一种基于互联网缓存的防盗链方法,如图2所示,本实施例方法的处理流程包括以下步骤:
步骤201、接收携带有统一资源定位符URL地址的用户请求。
用户终端想要获取某个资源如图片时,会向源网站发送该图片的URL地址获取请求后,该URL地址获取请求携带有URL的唯一标识和用户信息(如终端IP等),源网站接收到该URL地址获取请求之后,根据URL地址的唯一标识从数据库查找到该图片的原始URL地址,所述原始URL地址中包括所述图片资源唯一对应的URL。然后,源网站会将所述用户终端的用户信息和原始URL地址一起加密成字符串作为校验字段,源网站会将所述校验字段携带在所述原始URL地址中发送给用户终端。
用户终端获得源网站返回的携带有校验字段的原始URL地址后,会在该原始URL地址中加入用户信息形成一个新的URL地址,用户终端会向互联网缓存发送携带有该新的URL地址的用户请求,请求下载该图片资源,所述新的URL地址中就包括用户信息,所请求资源的URL,以及校验字段。
步骤202、根据所述校验字段对所述用户信息进行鉴权。
步骤203、在所述用户信息鉴权合法时,返回所述所请求资源的URL对应的资源内容。
互联网缓存在接收到所述用户请求后,只有在根据所述校验字段对所述用户信息进行鉴权,鉴权所述用户信息鉴权合法时,才会向用户终端返回所请求资源的URL对应的资源内容。当然,如果所述用户信息被鉴权认定为不合法,则所述互联网缓存就不能向该用户终端返回所请求资源的URL对应的资源内容。
示例的,如果盗链网站盗取了源网站给用户终端返回的原始URL地址,现有技术中,所述盗链网站将所述原始URL地址发送给互联网缓存后,互联网缓存就会将所述原始URL地址对应的资源内容返回给盗链网站;但是应用本实施例方法,所述盗链网站需要将盗链网站的用户信息加入该携带有该校验字段的原始URL地址中形成新的URL地址发送给互联网缓存进行用户请求,这样由于用户请求中的校验字段是由用户终端的用户信息生成的,与盗链网站的用户信息无关,故应用该鉴权信息就可鉴定出该盗链网站的用户信息并不是该鉴权信息对应的用户终端的用户信息,即用户请求中的盗链网站的用户信息无法通过鉴权,被认证为不合法。在确定所述用户信息被鉴权认定为不合法时,所述互联网缓存就不会向该用户终端返回所请求资源的URL对应的资源内容,有效防止盗链网站的盗链行为,解决互联网缓存被盗链的问题,提升互联网缓存的安全性能。
在本实施例方法中,确定所述用户信息鉴权合法的方法有两种。根据互联网缓存是否与源网站合作,可以将这两种方法分为业务鉴权分离防盗链模式和业务鉴权融合防盗链模式。这两种模式主要区分在于鉴权位置不同,业务鉴权分离防盗链模式是源网站远端鉴权互联网缓存本地服务,而业务鉴权融合防盗链模式中互联网缓存需要与源网站合作,具体的鉴权服务都在互联网缓存本地完成,两者都可判断出用户信息是否合法。
方法一、业务鉴权分离防盗链模式。
如图3所示,方法一的处理流程可以包括以下步骤:
步骤301、用户终端向源网站发送URL地址获取请求。
用户终端想要获取某个资源如图片时,会向源网站发送该图片的URL地址获取请求,该URL地址获取请求携带有URL的唯一标识和用户终端的用户信息(如终端IP等)。
步骤302、源网站对所述用户终端进行一次认证,并根据所述用户终端的用户信息和根据所述URL地址获取请求查找获得的原始URL地址加密生成校验字段。
源网站接收到该URL地址获取请求之后,根据URL地址的唯一标识从数据库查找到该图片的原始URL地址,所述原始URL地址中包括所述图片资源唯一对应的URL。然后,源网站会应用预设的加密算法将所述用户终端的用户信息和原始URL地址一起加密成字符串作为校验字段。
步骤303、源网站会将所述校验字段携带在所述原始URL地址中发送给用户终端。
步骤304、互联网缓存在与所述用户终端进行TCP三次握手时,进行内核态鉴权,提取握手报文中的TCP/IP五元组;对提取到的所述TCP/IP五元组进行认证。
用户终端获得携带有校验字段的原始URL地址后,就会应用该原始URL地址向互联网缓存发送用户请求以获取相应的图片资源,用户终端需要与所述互联网缓存完成三次握手后,才能向所述互联网缓存发送用户请求的具体内容,互联网缓存在与所述用户终端进行传输控制协议(TCP,Transmission ControlProtocol)三次握手时,会对该用户请求进行内核态鉴权,提取用户终端向互联网缓存发送的握手报文中的TCP/IP五元组(五元组中包括:源IP地址、目的IP地址、协议号、源端口和目的端口);然后将提取到的所述TCP/IP五元组与系统的合法请求的五元组进行匹配,如果其与合法请求的五元组中的某个五元组相同,则认证通过,如果其与合法请求的五元组中的任一个五元组都不相同,则认证未通过。
步骤305、若认证通过,则返回建立链接响应;若认证未通过,返回断开链接响应。
如果认证未通过则说明这个请求是非法请求,否则为合法请求;若为非法请求,则互联网缓存修改非法请求返回的ACK报文内容,将TCP.FLAGS由0x0010(ACK),修改为0x0011(FIN,ACK),返回给上层协议栈,最终让业务流程判断请求结束断开链接,即返回断开链接响应;互联网缓存对合法请求返回的ACK不做任何修改,直接发送给上层协议栈,建立链接,即返回建立链接响应。
步骤306、互联网缓存接收所述用户终端发送的携带有URL地址的用户请求。
用户终端与所述互联网缓存完成三次握手建立链接后,用户终端就会向所述互联网缓存发送用户请求,以请求获得相应的图片资源,所述用户请求中携带有URL地址,所述URL地址中包括用户信息,所请求资源的URL,校验字段。
步骤307、互联网缓存将所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段。
互联网缓存接收到该用户请求后,可以先将所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段。
示例的,所述URL地址可以为:
http://ds3.d.iask.com/pc.downtech/20110402/6d0f3e35/haozip_v2.2.exe?fn=&ssig=ImW3vE7ggr&Expires=1302167757&KID=sae,230kw3wk15
所请求资源的URL+用户信息和校验字段之间设置有分隔符“?”,“?”之前的字符串:http://ds3.d.iask.com/pc.downtech/20110402/6d0f3e35/haozip_v2.2.exe为所请求资源的URL+用户信息;“?”之后的字符串:fn=&ssig=ImW3vE7ggr&Expires=1302167757&KID=sae,230kw3wk15为校验字段。这样所述互联网缓存就可以根据分隔符切割出所述校验字段以及包含所述用户信息和所请求资源的URL的字段。
步骤308、互联网缓存将携带有所述切割后的校验字段以及包含所述用户信息和所请求资源的URL的字段的认证请求发送给源网站。
当然,所述互联网缓存也可以直接将所述URL地址发送给源网站,由源网站一侧根据分割符将所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段后进行鉴权。
步骤309、源网站在应用所述校验字段对所述用户信息进行鉴权。
所述源网站接收到认证请求后,从所述认证请求中获得所述校验字段,然后应用预设的与步骤302中的加密算法相应的解密算法解密出所述校验字段中的用户信息,判断所述校验字段中的用户信息与所述认证请求中的用户信息是否一致,若一致,则鉴权成功,若不一致,则鉴权失败。
步骤310、源网站向所述互联网缓存返回认证结果通知。
所述认证结果通知中携带有所述源网站应用所述校验字段对所述用户信息进行鉴权的鉴权结果。若鉴权成功,则所述认证结果通知中携带的鉴权结果是鉴权成功,若鉴权失败,则所述认证结果通知中携带的鉴权结果是鉴权失败。
步骤311、在所述认证结果通知中携带的鉴权结果是鉴权成功时,确定所述用户信息鉴权合法,在确定所述用户信息鉴权合法时,返回所述所请求资源的URL对应的资源内容。
在所述认证结果通知中携带的鉴权结果是鉴权成功时,确定所述用户信息鉴权合法。在所述认证结果通知中携带的鉴权结果是鉴权失败时,确定所述用户信息鉴权不合法。
互联网缓存在获得所述URL地址后,在步骤307会根据分隔符对所述URL地址进行分割获得所请求资源的URL和用户信息字段,这样在确定所述用户信息鉴权合法时,所述互联网缓存就可以直接根据该字段中的所请求资源的URL查找获得所请求资源的URL对应的资源内容,并通过HTTP 200(成功访问)为该用户信息对应的用户终端提供资源下载服务,向所述用户终端返回对应的资源内容。
如果鉴权失败即确定所述用户信息不合法,则为用户终端响应HTTP 403(禁止访问),不向所述用户终端返回所述所请求资源的URL对应的资源内容。
方法一通过互联网缓存与源网站进行交互,利用源网站的鉴权机制,对用户请求进行鉴权,并将鉴权结果通知给互联网缓存,鉴权对缓存完全透明,源网站可以根据自己的需求增加各种鉴权功能,而互联网缓存无需定制化开发鉴权功能,可以利用源网站的鉴权机制,对用户请求进行鉴权,并根据鉴权结果向用户终端提供相应的下载服务。这种模式下,将鉴权与服务分离,鉴权工作仍在源网站完成,资源下载服务则在互联网缓存完成,实现异源服务,提升服务效率。
方法二、业务鉴权融合防盗链模式
方法二的前几个步骤可参考方法一中的步骤301-305,在此不再详述;如图4所示,方法二的处理流程还可以包括以下步骤:
步骤401、互联网缓存加载源网站提供的加密算法、密钥版本、鉴权密钥。
本方法要求互联网缓存与所述源网站进行合作,在互联网缓存上加载基于源网站提供的加密算法、鉴权密钥、密钥版本等的防盗链方法,对用户终端发送的URL地址进行鉴权,鉴权通过即提供给服务,否则断连拒绝服务。
所述互联网缓存上加载有源网站提供的相应的加密算法、密钥版本、鉴权密钥。
步骤402、互联网缓存接收携带有统一资源定位符URL地址的用户请求。
用户终端与所述互联网缓存完成三次握手建立链接后,用户终端就会向所述互联网缓存发送用户请求,以请求获得相应的图片资源,所述用户请求中携带有URL地址,所述URL地址中包括用户信息,所请求资源的URL,校验字段。
步骤403、互联网缓存将所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段。
示例的,假设所述互联网缓存接收到的URL地址为:
http://10.156.183.19:80/filepath/avsync.3gp.m3u8?msisdn=13817433773&mdspid=&spid=699013&nettype=4&sid=2049016655&pid=2028593134_2028593207_2028593174&Channel_ID=0109_03000010-99000-100100010010001&ProgramID=502358623&ParentNodeID=10242953×tamp=20130608151500&encrypt=fb75dd66d49c54635acd020600767444。
互联网缓存可以从该URL地址中识别出encrypt字段,该encrypt字段为校验字段,则包含所述用户信息和所请求资源的URL的字段为:
http://10.156.183.19:80/filepath/avsync.3gp.m3u8?msisdn=13817433773&mdspid=&spid=699013&nettype=4&sid=2049016655&pid=2028593134_2028593207_2028593174&Channel_ID=0109_03000010-99000-100100010010001&ProgramID=502358623&ParentNodeID=10242953×tamp=20130608151500。
校验字段Ψ1=fb75dd66d49c54635acd020600767444。
这样,所述互联网缓存就可以将所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段
步骤404、根据所述校验字段对所述用户信息进行鉴权。
互联网缓存将所述包含所述用户信息和所请求文件标识的URL的字段拼接所述鉴权密钥生成待校验URL;用所述密钥版本对应的加密算法对所述待校验URL进行加密生成鉴权字段;在所述鉴权字段与所述校验字段一致时,确定所述用户信息鉴权合法。
如上述示例的URL地址,在包含所述用户信息和所请求资源的URL的字段后即时间戳(timestamp)后面,拼接所述密钥版本如MD5密钥对应的鉴权密钥如MDN2000,得到带校验的URL。
可选的,这里需要区分ClientIp模式是否开启,来决定是否拼接clientip字段。具体通过查看互联网缓存中该所请求资源的URL对应的stream_base.xml中的Client IP Mode字段来区分ClientIp模式是否开启。
如果Client IP Mode字段的值为On,表示在拼接的时候需要带上ClientIp。假设ClientIp为10.156.183.19。那么拼接成的待校验URL为:
http://10.156.183.19:80/filepath/avsync.3gp.m3u8?msisdn=13817433773&mdspid=&spid=699013&nettype=4&sid=2049016655&pid=2028593134_2028593207_2028593174&Channel_ID=0109_03000010-99000-100100010010001&ProgramID=502358623&ParentNodeID=10242953×tamp=20130608151500&clientip=10.156.183.19MDN2000
如果Client IP Mode字段的值为Off,表示在拼接的时候不需要带上ClientIp。那么拼接成的待校验URL为:
http://10.156.183.19:80/filepath/avsync.3gp.m3u8?msisdn=13817433773&mdspid=&spid=699013&nettype=4&sid=2049016655&pid=2028593134_2028593207_2028593174&Channel_ID=0109_03000010-99000-100100010010001&ProgramID=502358623&ParentNodeID=10242953×tamp=20130608151500MDN2000
将所述待校验URL进行密钥版本为MD5的加密算法进行加密,生成32字节的鉴权字段Ψ2;将生成的鉴权字段和所述URL地址中的encrypt字段即校验字段进行比较。
如果比较不一致,即Ψ1≠Ψ2,则认为该URL地址不合法,拒绝用户请求。如果比较一致,即Ψ1=Ψ2,则认为该URL地址是合法。示例的,如果是步骤302的用户终端发送的用户请求,则最终生成的鉴权字段是根据该用户终端的用户信息生成,必然为fb75dd66d49c54635acd020600767444,即Ψ1=Ψ2,如果是盗链网站发送的用户请求,则最终生成的鉴权字段是根据盗链网站的用户信息生成的必然不等于Ψ1。这样就可以确定所述用户信息鉴权是否合法。
步骤405、在确定所述用户信息鉴权合法时,返回所述所请求资源的URL对应的资源内容。
可选的,如本实施例中给出的示例,所述所请求资源的URL的字段中还包括有效期,即timestamp=20130608151500,当前时间超过有效期时,则认为该所请求资源的URL已过期,拒绝用户请求。如果确定所述用户信息鉴权合法且当前时间在有效期内,则为用户终端提供后续服务,返回所述所请求资源的URL对应的资源内容。
方法二无需源网站进行鉴权进行交互,鉴权和服务完全在互联网缓存实现,但网站需要与互联网缓存合作开放加密方法、鉴权密钥、密钥版本等信息。
本实施例方法通过提供对互联网缓存的两种防盗链方法,在本地或远端鉴权通过后,才正常响应用户请求,实现了互联网缓存的防盗链功能,防止了互联网缓存被恶意利用,同时提升了互联网缓存系统的健壮性。
实施例2
本发明实施还提供了一种互联网缓存,如图5所示,所述互联网缓存包括:接收单元501,鉴权单元502,返回单元503,其中,
接收单元501,用于接收携带有统一资源定位符URL地址的用户请求,所述URL地址中包括用户信息,所请求资源的URL,校验字段;
鉴权单元502,用于根据所述接收单元501接收到的校验字段对所述接收单元接收到的用户信息进行鉴权;
返回单元503,用于在所述鉴权单元502对所述用户信息鉴权合法时,返回所述接收单元501接收到的所请求资源的URL对应的资源内容。
可选的,如图6所示,所述互联网缓存还包括切割单元507,其中,
所述切割单元507,用于将所述接收单元501接收到的所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段。
可选的,如图6所示,所述互联网缓存还包括发送单元504,其中,
所述发送单元504,用于将携带有所述切割单元507切割后的校验字段以及包含所述用户信息和所请求资源的URL的字段的认证请求发送给源网站;
所述接收单元501,还用于接收所述源网站返回的认证结果通知,其中,所述认证结果通知中携带有所述源网站应用所述校验字段对所述用户信息进行鉴权的鉴权结果;
相应的,所述鉴权单元502,具体用于在所述接收单元501接收到的所述认证结果通知中携带的鉴权结果是鉴权成功时,确定所述用户信息鉴权合法。
可选的,如图6所示,所述互联网缓存还包括加载单元505,其中,
所述加载单元505,用于加载源网站提供的加密算法、密钥版本和鉴权密钥;
所述鉴权单元502,具体用于将所述切割单元507切割后的包含所述用户信息和所请求资源的URL的字段拼接所述加载单元505加载的密钥版本对应的鉴权密钥生成待校验URL;用所述密钥版本对应的加密算法对所述待校验URL进行加密生成鉴权字段;在所述鉴权字段与所述校验字段一致时,确定所述用户信息鉴权合法。
可选的,所述所请求资源的URL的字段中还包括有效期;相应的,所述返回单元503,具体用于在所述有效期内返回所述所请求资源的URL对应的资源内容。
可选的,如图6所示,所述互联网缓存还包括认证单元506,其中,
所述认证单元506,用于在进行TCP三次握手时,进行内核态鉴权,提取握手报文中的TCP/IP五元组,对提取到的所述TCP/IP五元组进行鉴权认证;
所述返回单元503,还用于在所述认证单元506认证通过时,返回建立链接响应;在所述认证单元506认证未通过时,返回断开链接响应。
在实际应用中,本实施例中所述的接收单元501,鉴权单元502,返回单元503,发送单元504,加载单元505,认证单元506和切割单元507可以由互联网缓存上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)、调制解调器等器件实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (12)
1.一种基于互联网缓存的防盗链方法,其特征在于,所述方法包括:
接收携带有统一资源定位符URL地址的用户请求,所述URL地址中包括用户信息,所请求资源的URL和校验字段;
根据所述校验字段对所述用户信息进行鉴权;
在所述用户信息鉴权合法时,返回所述所请求资源的URL对应的资源内容。
2.根据权利要求1所述的防盗链方法,其特征在于,在所述接收携带有统一资源定位符URL地址的用户请求之后,所述方法还包括:
将所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段。
3.根据权利要求2所述的防盗链方法,其特征在于,在确定所述用户信息鉴权合法之前,所述方法还包括:
将携带有所述切割后的校验字段以及包含所述用户信息和所请求资源的URL的字段的认证请求发送给源网站;
接收所述源网站返回的认证结果通知,其中,所述认证结果通知中携带有所述源网站应用所述校验字段对所述用户信息进行鉴权的鉴权结果;
相应的,所述确定所述用户信息鉴权合法,包括:
在所述认证结果通知中携带的鉴权结果是鉴权成功时,确定所述用户信息鉴权合法。
4.根据权利要求2所述的防盗链方法,其特征在于,在确定所述用户信息鉴权合法之前,所述方法还包括:
加载源网站提供的加密算法、密钥版本、鉴权密钥;
所述确定所述用户信息鉴权合法,包括:
将所述包含所述用户信息和所请求资源的URL的字段拼接所述密钥版本对应的鉴权密钥生成待校验URL;
用所述密钥版本对应的加密算法对所述待校验URL进行加密生成鉴权字段;
在所述鉴权字段与所述校验字段一致时,确定所述用户信息鉴权合法。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述所请求资源的URL的字段中还包括有效期;相应的,所述返回所述所请求资源的URL对应的资源内容,包括:
在所述有效期内,返回所述所请求资源的URL对应的资源内容。
6.根据权利要求1-4任一项所述的方法,其特征在于,在所述接收携带有统一资源定位符URL地址的用户请求之前,所述方法还包括:
在进行传输控制协议TCP三次握手时,进行内核态鉴权,提取握手报文中的TCP/IP五元组,对提取到的所述TCP/IP五元组进行鉴权认证;
若认证通过,则返回建立链接响应;若认证未通过,返回断开链接响应。
7.一种互联网缓存,其特征在于,所述互联网缓存包括:
接收单元,用于接收携带有统一资源定位符URL地址的用户请求,所述URL地址中包括用户信息,所请求资源的URL,校验字段;
鉴权单元,用于根据所述接收单元接收到的校验字段对所述接收单元接收到的用户信息进行鉴权;
返回单元,用于在所述鉴权单元对所述用户信息鉴权合法时,返回所述接收单元接收到的所请求资源的URL对应的资源内容。
8.根据权利要求7所述的互联网缓存,其特征在于,所述互联网缓存还包括切割单元,其中,
所述切割单元,用于将所述接收单元接收到的所述URL地址切割为校验字段以及包含所述用户信息和所请求资源的URL的字段。
9.根据权利要求8所述的互联网缓存,其特征在于,所述互联网缓存还包括发送单元,其中,
所述发送单元,用于将携带有所述切割单元切割后的校验字段以及包含所述用户信息和所请求资源的URL的字段的认证请求发送给源网站;
所述接收单元,还用于接收所述源网站返回的认证结果通知,其中,所述认证结果通知中携带有所述源网站应用所述校验字段对所述用户信息进行鉴权的鉴权结果;
相应的,所述鉴权单元,具体用于在所述接收单元接收到的所述认证结果通知中携带的鉴权结果是鉴权成功时,确定所述用户信息鉴权合法。
10.根据权利要求8所述的互联网缓存,其特征在于,所述互联网缓存还包括加载单元,其中,
所述加载单元,用于加载源网站提供的加密算法、密钥版本和鉴权密钥;
所述鉴权单元,具体用于将所述切割单元切割后的包含所述用户信息和所请求资源的URL的字段拼接所述加载单元加载的密钥版本对应的鉴权密钥生成待校验URL;用所述密钥版本对应的加密算法对所述待校验URL进行加密生成鉴权字段;在所述鉴权字段与所述校验字段一致时,确定所述用户信息鉴权合法。
11.根据权利要求7-10任一项所述的互联网缓存,其特征在于,所述所请求资源的URL的字段中还包括有效期;相应的,
所述返回单元,具体用于在所述有效期内返回所述所请求资源的URL对应的资源内容。
12.根据权利要求7-10任一项所述的互联网缓存,其特征在于,所述互联网缓存还包括认证单元,其中,
所述认证单元,用于在进行传输控制协议TCP三次握手时,进行内核态鉴权,提取握手报文中的TCP/IP五元组,对提取到的所述TCP/IP五元组进行鉴权认证;
所述返回单元,还用于在所述认证单元认证通过时,返回建立链接响应;在所述认证单元认证未通过时,返回断开链接响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610074679.8A CN107026828B (zh) | 2016-02-02 | 2016-02-02 | 一种基于互联网缓存的防盗链方法及互联网缓存 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610074679.8A CN107026828B (zh) | 2016-02-02 | 2016-02-02 | 一种基于互联网缓存的防盗链方法及互联网缓存 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107026828A true CN107026828A (zh) | 2017-08-08 |
CN107026828B CN107026828B (zh) | 2020-02-21 |
Family
ID=59524019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610074679.8A Active CN107026828B (zh) | 2016-02-02 | 2016-02-02 | 一种基于互联网缓存的防盗链方法及互联网缓存 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107026828B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846405A (zh) * | 2017-10-31 | 2018-03-27 | 北京百悟科技有限公司 | 内外网文件互访的控制系统及实现方法 |
CN110460487A (zh) * | 2019-06-25 | 2019-11-15 | 网宿科技股份有限公司 | 服务节点的监控方法及系统、服务节点 |
CN110460486A (zh) * | 2019-06-25 | 2019-11-15 | 网宿科技股份有限公司 | 服务节点的监控方法及系统 |
CN112688902A (zh) * | 2019-10-18 | 2021-04-20 | 上海哔哩哔哩科技有限公司 | 防盗链方法、装置以及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202742A (zh) * | 2006-12-13 | 2008-06-18 | 中兴通讯股份有限公司 | 一种防止拒绝服务攻击的方法和系统 |
CN101695164A (zh) * | 2009-09-28 | 2010-04-14 | 华为技术有限公司 | 一种控制资源访问的校验方法、装置和系统 |
CN102882939A (zh) * | 2012-09-10 | 2013-01-16 | 北京蓝汛通信技术有限责任公司 | 负载均衡方法、设备及泛域名加速访问系统 |
CN105516080A (zh) * | 2015-11-24 | 2016-04-20 | 网宿科技股份有限公司 | Tcp连接的处理方法、装置及系统 |
CN105827673A (zh) * | 2015-01-05 | 2016-08-03 | 中国移动通信集团浙江有限公司 | 一种防盗链的方法、装置及网络服务器 |
-
2016
- 2016-02-02 CN CN201610074679.8A patent/CN107026828B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202742A (zh) * | 2006-12-13 | 2008-06-18 | 中兴通讯股份有限公司 | 一种防止拒绝服务攻击的方法和系统 |
CN101695164A (zh) * | 2009-09-28 | 2010-04-14 | 华为技术有限公司 | 一种控制资源访问的校验方法、装置和系统 |
CN102882939A (zh) * | 2012-09-10 | 2013-01-16 | 北京蓝汛通信技术有限责任公司 | 负载均衡方法、设备及泛域名加速访问系统 |
CN105827673A (zh) * | 2015-01-05 | 2016-08-03 | 中国移动通信集团浙江有限公司 | 一种防盗链的方法、装置及网络服务器 |
CN105516080A (zh) * | 2015-11-24 | 2016-04-20 | 网宿科技股份有限公司 | Tcp连接的处理方法、装置及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846405A (zh) * | 2017-10-31 | 2018-03-27 | 北京百悟科技有限公司 | 内外网文件互访的控制系统及实现方法 |
CN110460487A (zh) * | 2019-06-25 | 2019-11-15 | 网宿科技股份有限公司 | 服务节点的监控方法及系统、服务节点 |
CN110460486A (zh) * | 2019-06-25 | 2019-11-15 | 网宿科技股份有限公司 | 服务节点的监控方法及系统 |
CN110460486B (zh) * | 2019-06-25 | 2022-08-05 | 网宿科技股份有限公司 | 服务节点的监控方法及系统 |
CN112688902A (zh) * | 2019-10-18 | 2021-04-20 | 上海哔哩哔哩科技有限公司 | 防盗链方法、装置以及计算机设备 |
CN112688902B (zh) * | 2019-10-18 | 2023-04-18 | 上海哔哩哔哩科技有限公司 | 防盗链方法、装置以及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107026828B (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210383025A1 (en) | Security Systems and Methods for Encoding and Decoding Content | |
US20200125764A1 (en) | Security Systems and Methods for Encoding and Decoding Digital Content | |
US10574686B2 (en) | Security verification by message interception and modification | |
CN104255009B (zh) | 用于自适应流媒体的片段完整性和真实性的系统和方法 | |
US9900161B2 (en) | Method for certifying android client application by local service unit | |
US10554417B2 (en) | Script verification using a hash | |
US10333716B2 (en) | Script verification using a digital signature | |
WO2002014991A2 (en) | Resource distribution in network environment | |
US9990516B2 (en) | Security systems and methods for social networking | |
CN106878265A (zh) | 一种数据处理方法及装置 | |
CN104954386A (zh) | 一种网络反劫持方法及装置 | |
CN113141365B (zh) | 分布式微服务数据传输的方法、装置、系统和电子设备 | |
CN104283903A (zh) | 文件的下载方法及装置 | |
KR102690980B1 (ko) | 브라우저 쿠키 보안 | |
CN107026828A (zh) | 一种基于互联网缓存的防盗链方法及互联网缓存 | |
CN116941215A (zh) | 高可用性密码密钥 | |
US11258766B2 (en) | VNF package signing system and VNF package signing method | |
JP3661776B2 (ja) | クライアントのプロファイル情報をサーバに提供する方法とシステム | |
Aivaliotis | Mastering Nginx | |
CN109218009B (zh) | 一种提高设备id安全性的方法、客户端和服务器 | |
CN110263563A (zh) | 借助于区块链的广告点击数据上链方法及其设备 | |
CN107086918A (zh) | 一种客户端验证方法和服务器 | |
Aivaliotis | Mastering Nginx | |
CN110245309A (zh) | 页面加载方法及装置 | |
CN117527750A (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 |