七牛云配置时间戳防盗链
如果是公有空间,想要实现加密 url 访问,可以使用七牛的时间戳防盗链功能。
实现效果
实现下图效果中,上半部分图为常规访问图片报错403;下半部分图为访问经过时间戳算法生成的 url 实现正常访问。
手动操作步骤示例
信息准备
- 资源文件,http://i.iamlj.com/18-10-24/98594789.jpg
- Path,/18-10-24/98594789.jpg (
注意开头有/
) - Key,bfa860b8caa9c08aa7abccb888bb9dbaf8980aa8,可以使用 key 生成器生成
- T,5c1379fb 过期时间戳
- 获取当前时间戳 date +%s
- 10进制转16进制 http://tool.oschina.net/hexconvert/
- 当前时间 1544776683 + 3600 -> 1544780283 -> 10转16进制 -> 5c1379fb
拼接 sign 和 url
- 通过 sign=md5(key+path+t)
- key+path+t = bfa860b8caa9c08aa7abccb888bb9dbaf8980aa8/18-10-24/98594789.jpg5c1379fb
- sign = md5(bfa860b8caa9c08aa7abccb888bb9dbaf8980aa8/18-10-24/98594789.jpg5c1379fb) = 03742e3c1fe9c82dff30aa7cb2f649aa
- url = file_url?sign=<sign>&t=<16进制时间戳> = http://i.iamlj.com/18-10-24/98594789.jpg?sign=03742e3c1fe9c82dff30aa7cb2f649aa&t=5c1379fb
在时间戳防盗链页面,填写信息
- 主 Key 0e88b8889f9ab9b9c3b9418b339a159a4f9b5f9a
- 副 Key 随便写
- url http://i.iamlj.com/18-10-24/98594789.jpg?sign=03742e3c1fe9c82dff30aa7cb2f649aa&t=5c1379fb
填写图
填写 url 处,不报错则表示生成 url 的格式是正确的,则「确定」键生效,可以按下。
python 实现
代码文件见 这里
运行效果图
参考文档
Go!!!