
1 lsylsy2 2014 年 8 月 27 日 可以给文件指定accesskey和过期时间,我记得七牛又拍两家都支持; 原理是将http://a.com/b.jpg变成 http://a.com/b.jpg?token=xxx&expire=yyy yyy是时间戳,xxx是(时间戳、URL、一个秘密字符串)编码后做md5 “秘密字符串”在服务器之间共享 |
2 lsylsy2 2014 年 8 月 27 日 然后服务器校验token合法并且当前时间没有超过expire就允许访问,否则返回403 |
3 lsylsy2 2014 年 8 月 27 日 |
4 akfish 2014 年 8 月 27 日 其实各种网盘神马的都是存着,MD5或者SHA1撸一遍存个hash,如果遇到别的用户传相同文件,直接拿来用了,自己省了存储空间和带宽,不明真相的用户还觉得速度飞快用户体验好。 |
5 akfish 2014 年 8 月 27 日 好吧,好像理解错了。权限什么的就和那个hash值挂钩,文件本身不能直接暴露给用户,不然就露陷了,加个带expire的access key给用户访问。 |
6 gamexg 2014 年 8 月 27 日 一直很好奇,利用网盘急速上传功能,上传时伪造文件的hash值,是不是能遍历网盘的所有文件? |
10 akfish 2014 年 8 月 27 日 @gamexg 以Git用40位SHA1 Hash表示文件为例,不考虑碰撞的话,能编码16^40=1.46*10^48个文件,目前全球人口70亿,假如每个人都能上网,都用同一个网盘,都上传不同的文件,也才7*10^9。 所以hash空间的使用率是相当低的,遍历成本级高,检索到有效文件的概率极低。 |
11 node OP |
13 lygmqkl 2014 年 8 月 27 日 貌似用OAuth 2.0的model就可以解决。 |