Dropper(投掷器) 基于七牛云对象存储的文件分享工具 感谢 Star : )
- 注册登录七牛云
- 创建对象存储空间
- 在空间设置处将默认首页开启
- 下载 index.html 并上传至空间
- 绑定或直接使用测试域名访问即可
- 在 Dropper 页面右上角输入密钥及空间名即可
- 七牛的安全机制涉及上传凭证、下载凭证、管理凭证,其中上传凭证可以按算法在前端生成。
- 前端 localStorage 保存用户的密钥及空间名,可以生成上传凭证并将文件上传至对应空间获得资源地址(下载地址)
- 由于前端页面和资源处于统一域,所以只需将资源地址路径加密即可
- 前端生成随机密码(同时也是后续下载时的文件提取码),加密逻辑很简单
文件名 + '@' + 密码
- 前端将密码加盐(分享到期时间戳)进行 160724 次 MD5 获得
密码 hash
- 生成文件分享链接
http(s)://domain.com?s={密码 hash}&n={文件名}&dt={分享到期时间戳}
- 提取文件时,前端将用户输入的提取码加盐(分享到期时间戳)进行 160724 次 MD5 获得
提取码 hash
和密码 hash
进行对比一致则通过 - 如分享时间未到期则构造下载地址新窗口打开进行下载
http(s)://domain.com/{文件名}@{提取码}?attname=${文件名}