空referer的request截图
请求返回结果如下图:
由此可见,对referer的判断可以起到防盗链的作用。但是,refer防盗链易于破解,大大降低了防盗链的作用。
**第二步,**b.matching通过验证会返回一个tag,然后请求vdn,解析获取视频的原始url,然后把原始url作为参数进行new_url请求(参数还有btime,bauth以及referer):
请求返回新的url,response截图·如下:
**第三步,**用新的url请求CDN
还有一种UA防盗链,也叫做客户端白名单,依据就是User Agent字段,其原理和referer防盗链类似。UA 防盗链通常用在手机 APP 或者一些可自定义 User Agent 的应用。User agent和referer一样,易于伪造。
2.Token防盗链(时间戳防盗链)
什么是token防盗链**?**Token防盗链通过对时间有关的字符串进行签名,将时间,签名信息通过一定的方式传递给CDN节点服务器作为判断依据,CDN 节点则会根据 URL 的加密形式,取出对应的过期时间,和当前服务器时间进行比较,确认请求是否过期,过期的话,则直接拒绝;如果时间未过期,CDN 节点将根据约定的签名算法和密文,计算后的值和 URL 中的原始加密串进行比较;通过之后,请求会被认为是合法的。不合法的请求可以采取禁止访问或其他操作。
1)客户端业务服务器生成验证信息,验证信息的生成由业务服务器负责,具体的加密过程需要确认如下事项:
a.确认过期时间的格式,默认采用UNIX时间戳格式
b.确认验证信息中的密文,用户计算验证信息,需要和 CDN 平台约定
c.确认验证信息时加入的参数,默认为 URL 的路径部分
d.根据上文的算法说明计算验证信息,其中请求 URL 中的验证参数为 _upt
2_)_CDN__节点验证过程
a.根据约定解析取出过期时间,和当前 CDN 节点服务器时间进行比较,确认请求是否过期
b.根据上文约定好的算法计算方式,计算出 MD5 加密串后,和 URL 中的加密串进行比较,验证加密串是否一致
c.如果以上两个步骤都验证通过,请求才会被认为是合法的,这时 CDN 会请求资源响应给客户端,否则会被认为是非法请求,直接响应 HTTP status code 403。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后
下面是辛苦给大家整理的学习路线
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
40)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!