七牛云配置时间戳防盗链

如果是公有空间,想要实现加密 url 访问,可以使用七牛的时间戳防盗链功能。

实现效果

实现下图效果中,上半部分图为常规访问图片报错403;下半部分图为访问经过时间戳算法生成的 url 实现正常访问。

手动操作步骤示例

  1. 信息准备

    1. 资源文件,http://i.iamlj.com/18-10-24/98594789.jpg
    2. Path,/18-10-24/98594789.jpg (注意开头有/
    3. Key,bfa860b8caa9c08aa7abccb888bb9dbaf8980aa8,可以使用 key 生成器生成
    4. T,5c1379fb 过期时间戳
      1. 获取当前时间戳 date +%s
      2. 10进制转16进制 http://tool.oschina.net/hexconvert/
      3. 当前时间 1544776683 + 3600 -> 1544780283 -> 10转16进制 -> 5c1379fb
  2. 拼接 sign 和 url

    1. 通过 sign=md5(key+path+t)
    2. key+path+t = bfa860b8caa9c08aa7abccb888bb9dbaf8980aa8/18-10-24/98594789.jpg5c1379fb
    3. sign = md5(bfa860b8caa9c08aa7abccb888bb9dbaf8980aa8/18-10-24/98594789.jpg5c1379fb) = 03742e3c1fe9c82dff30aa7cb2f649aa
      1. MD5 工具:http://tool.oschina.net/encrypt?type=2
    4. url = file_url?sign=<sign>&t=<16进制时间戳> = http://i.iamlj.com/18-10-24/98594789.jpg?sign=03742e3c1fe9c82dff30aa7cb2f649aa&t=5c1379fb
  3. 在时间戳防盗链页面,填写信息

    1. 主 Key 0e88b8889f9ab9b9c3b9418b339a159a4f9b5f9a
    2. 副 Key 随便写
    3. url http://i.iamlj.com/18-10-24/98594789.jpg?sign=03742e3c1fe9c82dff30aa7cb2f649aa&t=5c1379fb

填写图

填写 url 处,不报错则表示生成 url 的格式是正确的,则「确定」键生效,可以按下。

python 实现

代码文件见 这里

运行效果图

参考文档

posted @ 2019-01-09 17:51  刘靖  阅读(1586)  评论(0编辑  收藏  举报