更新时间:2021-10-14 15:55:51
时间戳防盗链的特点是加密的url具有时效性,无法伪造,当达到过期时间后url不再被允许访问,适合一些对“时效性”有要求的场景,使用时需要内容提供商和CDN配合,内容提供商负责生成加密的url,CDN负责根据预先设定的规则对url进行合法性验证。时间戳防盗链由于实现原理简单、可靠性高,推荐使用。
示例
1、配置实例如下:
2、时间戳访问url生成规则示例:
1) 原始url:http://cdn.wangsu.com/4/123.mp3
2) 加密key:wangsu
3) 访问时刻unix时间为: 1601026312
4) 路径:URI,需加上斜杠, /4/123.mp3
5) wsSecret签名字符串:key+路径+时间 即:wangsu/4/123.mp31601026312
6) wsSecret签名字符串计算md5hash。
wsSecret = md5sum("wangsu/4/123.mp31601026312 ") = 79aead3bd7b5db4adeffb93a010298b5
7)时间戳防盗链URL请求如下:
http://cdn.wangsu.com/4/123.mp3? wsSecret=79aead3bd7b5db4adeffb93a010298b5&wsTime=1601026312
8) 当用户发起带时间戳防盗链的url请求后,cdn服务器会对url内容进行校验,判断时间有效性及MD5值,两个值其中有一个不符合要求,返回403。
注意事项:
1、时间戳防盗链默认支持,可以直接配置,不需要再次开发
2、当防盗链涉及的参数发生变更时,需要通知CDN进行配合更改,原则上密文一旦确定尽量不要发生变动,不然可能导致源和加速节点使用的密文不一致,请求全部验证不通过