时间戳防盗链


首先上代码:




/*


rtmp://pili-live-rtmp.pili.echohu.top
二、算法说明
基于时间戳的防盗链是通过对时间有关的字符串进行签名,将时间、签名通过一定的方式传递给
CDN服务器作为判定依据,CDN边缘节点根据约定的算法判断来访URL是否有访问权限。
通过,执行下一步;不通过,响应HTTP status code 403。
若同时配置了Referer、UA防盗链、时间戳防盗链,有一项不满足条件,即为不通过,响应 403 。
签名参数
● T:URL过期时间。按unix_time的16进制小写形式表示。 如 2015-08-01 00:00:00 –>
1438358400 –> 55bb9b80
● key: 和CDN协商的加密字符串
● path:访问资源的URL中的路径部分,例如:访问的URL为http://xxx.yyy.com/DIR1/dir2/
vodfile.mp4?v=1.1,则path=/DIR1/dir2/vodfile.mp4(注意不含querystring部分)
● 签名字原始符串S=key + path + T
● 签名SIGN=md5(S).to_lower(),to_lower指将字符串转换为小写
例如:访问的URL为 http://xxx.yyy.com/DIR1/dir2/vodfile.mp4?v=1.1,假设key=12345678,T=55bb9b80,
则S=12345678/DIR1/dir2/vodfile.mp455bb9b80,SIGN=19eb212771e87cc3d478b9f32d6c7bf9
签名参数传递方式
作为URL查询参数。
例如原始访问的URL为: http://xxx.yyy.com/DIR1/dir2/vodfile.mp4?v=1.1
最终形成的访问URL为: http://xxx.yyy.com/DIR1/dir2/vodfile.mp4?v=1.1&sign=&t=
● 签名参数 sign、 t ;
替换为对应的值, 实际url中不含<> ;
/DIR1/dir2/vodfile.mp4?sign=83a880fd7aa06f3d3c6caa54d8f164ec&t=55bbefe0
*/

你可能感兴趣的:(Qiniu)