CDN主要通过将内容缓存在边缘节点,缩短用户与网站的距离,来提升站点速度和性能。有些内容,当你不想被其他地方盗取,比如有些内容有版权或者不想因为盗取产生多于的流量,是大部分内容所有者考虑的核心问题,这就是我们熟称的防盗链。在实践过程中,CDN 常用的防盗链方式包含IP黑白名单、Referer、时间戳以及中心鉴权进行防盗链等方式。
下面为大家简要的介绍这几种防盗链的方式:
这个比较简单,直接配置请求者的IP黑白名单,设置黑名单之后,除了黑名单的用户都能访问;反之设置了白名单,只有白名单的用户都可以访问。这个方法直接有效,但必须知道请求者的具体IP信息,所以适用的场景比较有限。
在http请求时,Referer里记录的是请求的来路,所以通过设置Referer黑白名单,可以控制哪个页面或者域名过来的请求是可以访问的。这个方法比较简单,因为你很清楚想让哪个网站或者不想让哪个网站访问,但是缺点就是Referer信息可以伪造。
时间戳防盗链主要是在url请求里,通过增加时间戳的信息来对url加上时间的因素,盗链者如果不及时更新url,那么就会无法访问。这个比较常见,但是如果盗链者定期的过来更新url,这种方法也会失效。
中心鉴权的方式等于在源站增加一层验证,这个方法会对防盗链有效,但会增加请求的时间成本,一般用于有对内容进行完全保护的,比如有些视频网站,需要会员身份才能看的内容,对于这些网站,一般都会做中心鉴权。 以上是比较常见的防盗链方式,当然,大家也可以个性化开发适合自己业务的防盗链方式,欢迎大家体验金山云的产品,和我们一起交流和探讨。