
1 roricon 2018-01-03 10:07:03 +08:00 |
2 jy02201949 2018-01-03 10:07:19 +08:00 之前已经收藏了,感谢分享,接又拍不怕人家黑你每月整个几千大洋的账单? |
3 Famio OP @jy02201949 ()嗨,有这种担忧的,我都会天天看一下流量,慢慢完善了 |
4 gauzeehom 2018-01-03 10:44:09 +08:00 我竟然收藏过 |
6 aino 2018-01-03 11:41:23 +08:00 神马文件都可以上传 会不会很危险啊 |
7 xiqingongzi 2018-01-03 11:43:00 +08:00 点击左下角按钮不能跳转到你的博客,chrome 版本 63.0.3239.84 (正式版本) ( 64 位) |
9 Famio OP @aino 确实什么都能传,但是又拍会把文件 encoding,比如 php 文件 torrent 文件直接访问是文本格式的,不会执行。安全问题我会再改善一下,非常感谢! @xiqingongzi 哈哈,这个需要点“作”那个图标,只是先临时做个链接上去,感谢! |
10 fumichael 2018-01-03 11:54:36 +08:00 重复上传同一个文件是不是检查是不是同一个文件的,然后返回的链接是同一个链接的? |
12 szxczyc 2018-01-03 12:59:35 +08:00 via iPhone 我收藏过后来就打不开了。找了好久 |
13 Famio OP @szxczyc 这个要和你道个歉,因为期间在重新规划内容,所以停站了一段时间,现在新版本上了,以后就是迭代的了,感谢你的支持! |
15 jiqing 2018-01-03 13:56:53 +08:00 via Android 求开源 |
18 TangMonk 2018-01-03 14:36:15 +08:00 via Android 担心楼主流量 |
19 LH0811 2018-01-03 15:11:41 +08:00 楼主要是开放 api 就方便了 |
20 cy97cool 2018-01-03 15:15:31 +08:00 @Famio upyun 的表单上传 API 不是这么用的。。。。直接把 form_api_secret 写在 js 里面就意味着任何人都可以上传 /覆盖任意内容 正确的做法是实现一个服务端,用户需要上传的时候服务器执行签名算法返回 signature,以保证用户不会篡改 policy 任意上传 写了个 python 来上传 index.html: ``` import time from hashlib import md5 import json import requests import base64 optiOns= { 'bucket': 'oss-v2url', 'save-key': '/index.html', 'expiration': int(time.time()) + 86400 } form_api_secret = '5LOuSvluJ5F/TQjEd2XE3IqKAdw=' policy = base64.b64encode(json.dumps(options).encode('utf-8')).decode() signature = md5((policy + '&' + form_api_secret).encode('utf-8')).hexdigest() x=requests.post("https://v0.api.upyun.com/"+options['bucket'], files=[('Filename','${filename}'),('Content-Type',''),('policy',policy),('signature',signature),('file',('index.html',open('index.html','rb'),'text/html'))]) print(x) print(x.headers) print(x.text) ``` 效果,不过反正你设置了 text/plain 影响不大: https://oss.v2url.com/2018/01/03/5fa4e6e0755fc504279c227fad64707f.jpg |
22 Famio OP @cy97cool 道理我都懂,我为了先完成功能使用了表单 api 来上传,我也知道明写在 js 中有隐患的,后面再改进下。谢谢兄弟提醒 |
23 cy97cool 2018-01-03 17:03:34 +08:00 @fumichael 看 js 咯 https://www.v2url.com/asset/main.js 'save-key': '/{year}/{mon}/{day}/{filemd5}{.suffix}', 看出是文件 md5 作为文件名,这个过程是 upyun 完成的 不过 form_api_secret 泄露的情况下,你可以任意指定文件存储的 key,也可以任意覆盖别人上传的图片 |
25 jsgcs 2018-01-03 18:14:48 +08:00 @xiqingongzi 我也是 |
26 jsgcs 2018-01-03 18:17:16 +08:00 文件大小有限制么 |
28 Itanium 2018-01-03 18:25:13 +08:00 |
29 wsly47 2018-01-04 07:48:01 +08:00 via iPhone 我以前也写了个差不多的 https://mizore.cn/pic/ |
30 kernel365 2018-01-04 11:04:39 +08:00 能不能删除呢? |
32 miaomiao888 2018-01-04 12:26:59 +08:00 |
33 q409195961 2018-01-04 20:48:25 +08:00 |
34 lsido 2018-01-05 15:18:41 +08:00 |
35 hardman 2018-03-10 23:25:27 +08:00 via Android |
36 hardman 2018-03-10 23:30:05 +08:00 via Android |