1
xspoco 2017-04-10 19:41:15 +08:00 1
贴图库怎么样?
|
2
Amayadream 2017-04-10 19:41:48 +08:00 via iPhone 5
建议贴出上下文
|
3
only0jac OP @Amayadream 已退群
|
4
ibreaker 2017-04-10 19:45:24 +08:00
没时间解释了 快上车
|
5
allce231 2017-04-10 19:48:12 +08:00
其实我想说的是,你怕被别人拿了你的 token ,
你为什么不自己用 php 把图片发到贴图库去? 这样别人就拿不到你的 token 了 而是通过前端直接上传到贴图库? |
6
mx1700 2017-04-10 19:48:37 +08:00 via Android
这技术,这素质,迟早要完
|
7
only0jac OP |
8
allce231 2017-04-10 20:01:01 +08:00
很明显没有, token 不变,别人拿了就可以用,或许升级 VIP 客户就有 哈哈哈,比如绑定域名
|
9
Sn0wM4n 2017-04-10 20:29:57 +08:00
只能呵呵了。
|
10
fjzjk 2017-04-10 20:49:33 +08:00
感人。我也就用贴图库传一些要外链到某些不能上传图片的论坛
|
12
Mitt 2017-04-10 23:00:21 +08:00 3
态度决定一切 产品还是次要的
|
13
nolo 2017-04-10 23:07:21 +08:00 via Android
技术也是人。。。互相理解。。。
回到问题上来,纯前端的话应该只有把 token 写到表单。。。有没有大触有新思路? |
14
aec4d 2017-04-10 23:10:08 +08:00 via iPhone
我对这个程序员表示部分理解,程序员就不太应该被拉去当客服,因为有的时候客户问的技术相关的东西实在是太傻太气愤,浪费自己大量时间和心情。就那个 token 上传,稍有开发经验的都会知道放前端肯定是错误的,如果前端上传参考阿里云 OSS 之类的做法,其实这件事跑去问别人等于浪费彼此时间
|
15
leeg810312 2017-04-10 23:12:00 +08:00 via Android
如果 token 没有过期机制,那么纯前端的方案就不存在
|
16
only0jac OP |
17
dangyuluo 2017-04-10 23:16:14 +08:00
除非你能保证 token 的一次性,不然放在前段就是等着被滥用。好像七牛有个客户端直传,似乎符合你的要求。
|
19
whileFalse 2017-04-10 23:48:44 +08:00 1
一看这种傻方案就可以直接放弃了。
|
20
mcone 2017-04-11 00:08:02 +08:00 1
这种基于 token 直接认证的 如果没有合适的一次一密机制 或者(短时间内)定期重置机制 基本是不能用纯前端实现的 你在前端的东西全暴露给用户 完全就是白送啊
如果非得想用纯前端技术解决的话,只能自己添加自己的认证机制,先从用户中转到自己的 server 鉴权,再用这个方案提交 |
21
crab 2017-04-11 00:22:16 +08:00 1
遇到这种给他说哪里有问题,但对方直接反问你很厉害这类的,还是别浪费自己时间了。
|
22
starvedcat 2017-04-11 07:40:40 +08:00
退群还是可以看聊天记录的吧
|
23
Jackeriss 2017-04-11 08:13:07 +08:00
你这个『没时间解释』跟别人不太一样啊。
|
24
only0jac OP |
25
only0jac OP @crab 他可能觉得我不是他们的超级大客户,不值得回答,也没必要跟免费用户或一年只付 100 块钱的用户废话
|
26
dawniii 2017-04-11 08:35:59 +08:00
@only0jac 刚去看了下他们家的文档,根据上面的参数判断, token 貌似不是死的。是要后端生成给前端用的,有过期时间的。和七牛差不多。
|
27
fhefh 2017-04-11 08:38:09 +08:00
微博图床~
|
28
popok 2017-04-11 08:38:42 +08:00 1
因为这个参数叫 token ,所以你会觉得不安全。因为 token 这个词一般都和账户验证什么的有关。
如果把他改成 AlbumId 呢?是不是觉得没那么严重了? 如果你网站提供用户上传功能,那么用户才可能在前端代码中看到这个 token 。你说别人可以往你相册里上传文件,关键是你自己先提供了上传功能啊。 至于这个 token 是不是可以做其他和你账户相关的操作,我没有用过贴图库,所以不知道。 以上个人观点,如有不对,欢迎吐槽。 |
29
alwayshere 2017-04-11 08:52:12 +08:00
个人觉得,这个只是一个演示,就是告诉你上传到贴图库服务器需要哪些参数,用 form 这种表单形式最简单明了了,实际生产环境中肯定不不可能直接放 token 到前端,贴图库应该是不支持直接上传,需要先上传图片到你的服务器,你的服务器再把这个图片连同这个 token 传递给贴图库服务器
|
30
nullcc 2017-04-11 09:12:19 +08:00
如果是前端上传的话,除非你的页面可以 XSS ,不然别人也拿不到这个 token 吧
|
31
murmur 2017-04-11 09:14:40 +08:00 1
因为 token 固定,我就想这样岂不是能让别人随意上传到自己相册?
是啊,没问题,如果你有一个页面把 token 暴露出来我还不是可以上传到你的相册。。这个 token 只能防刷不能防偷用 新浪微博不就是么,大家都拿来做图床了,连 token 都没人关系,反正直接外链。。 |
32
xiaket 2017-04-11 09:19:29 +08:00
#不知道什么是 csrf 的看不懂本贴#
|
34
fulvaz 2017-04-11 09:39:37 +08:00
没上下文这帖子没意义啊!
|
35
jy02534655 2017-04-11 09:44:54 +08:00
一个图片先传到服务端再由服务端传到图床这种方式意味着时间加倍和流量消耗加倍
所以前端直传是比较好的方案,我们公司用的是阿里云,每次上传前先向服务端请求密钥也就是 token 这些,这里请求到的 token 是有过期时间的,这样也就不存在楼主所说的问题了。然后再上传就行了 |
36
only0jac OP |
37
only0jac OP @jy02534655 你看,这就是问题所在,你这个向服务端请求 token 是用 ajax 吗,如果是的话,那我也向你服务端请求 token ,在我本地也能传到你的 oss 吧?
有些人说反正全站在自己手里,他上传了给删掉不就行了,可是,这不是给自己找麻烦么,别人上传垃圾图,你每天还得检查有没有被别人上传,还得保证自己的图片不被误删,增加工作量啊 |
38
only0jac OP |
39
jccg90 2017-04-11 10:10:33 +08:00
明明可以再写一个后端上传的示例的。。。
|
40
jy02534655 2017-04-11 10:40:47 +08:00
@only0jac 我这里用 ajax 请求 token (需要登录验证)是需要验证权限的,没有权限根本就请求不到的
|
41
bombless 2017-04-11 10:54:37 +08:00 via Android
就是一个简单的名字空间吧 233 。
类似那种谁都可以上传的公共空间,只不过需要有人站出来买单, 233 我觉得似乎这里主要是例子写错了,这个东西可能本来只适合后端用 至于说不小心暴露之后没法改的问题,似乎很多服务都做成这样了,比如微信的 appid 和 secret (别人跟我说可以换,我没找到在哪换的 那其实比如阿里 oss 服务,你根本没法限制说只放出多少下载量(可能有吧,我读文档没找到)我感觉也是一个漏洞,和 po 主的空间被占用的问题有点类似。不过如果别人传些反党反政府的内容到你那就不好了…… |
42
only0jac OP @jy02534655 那我可以注册一个你们的账号,模拟登陆或者请求时带 cookie ,还能怎么防?
|
43
jy02534655 2017-04-11 11:35:34 +08:00
@only0jac 这种问题你通过服务端中转图片也是需要考虑的吧,不只是前端直传才有的问题。服务端中转怎么防前端请求 token 就用同样的策略,防不了只能当正常用户来咯。
|
44
only0jac OP @jy02534655 后端很容易防住, token 在后端算,这样的话只能通过自己站上传,别人也没法恶习批量上传垃圾图,当然,要是非得说”“你网站很牛逼?”,那就没法子了,哈哈
|
45
ragnaroks 2017-04-11 12:25:37 +08:00
以前加过他们群,还帮他们写过客户端(虽然被主动拒绝使用了),这个"行者"至少在当时还是一个不错的人.
没有上下文不做其他评论. |
46
rootx 2017-04-11 12:26:28 +08:00
1.就算 token 存在一次性 本来不就是暴露给用户传图到你相册的吗 。 2.防止滥用问题 他本来就是免费 还要啥自行车。 3.我司应用一天 1T 流量,所以之前在找流量便宜的图片空间,以前跟他们聊过,他家带宽不要钱,所以便宜,但是移动访问不了,最后放弃,还是用了 X 牛。
|
48
HGladIator 2017-04-11 13:12:38 +08:00 via iPhone 1
就这种牛逼哄哄的态度,不出大问题,会听进去意见吗?会去想吗?
|
49
janecc 2017-04-11 14:50:38 +08:00 1
贴图库辣鸡,居然还有人用
|
50
phithon 2017-04-11 14:59:49 +08:00 1
纯前端不应该有这种 token 的验证方式,而是应该改成签名验证。
举个简单例子,用用户 id+时间戳+图片名+Token ,生成一个 hmac 签名,和 id 、时间戳、图片名一起发送到服务端。 服务端接收到以后,根据用户 id 从数据库里查出这个用户的真实 token ,对用户传过来的 id 、时间戳、图片名进行签名,再和用户传过来的签名进行比较。(可能中间还需要比较当前时间和用户传来的时间戳在一定范围内,防止重放枚举爆破攻击等) |
51
bk201 2017-04-11 15:07:31 +08:00
如果光前端的话你做个校验不让别人进你的图片上传页面就行了,当然你要隐藏这个 token 并且将图片上传提供给别人只有自己在后台发起请求了。所以你这个问题,问我我也有点烦。当然态度并不会那么差。
|
52
BOYPT 2017-04-11 15:17:05 +08:00
『没时间解释』我以为要开车赶紧上车呢!!
|
55
only0jac OP |
56
bk201 2017-04-11 15:32:00 +08:00
@only0jac 既然你都有注册了,难道你还是纯前端?肯定放到后端去呀。而官方只是简单给了个使用的例子,让你明白怎么调用而不是照抄。
|
57
litpen 2017-04-11 16:40:48 +08:00
没想着要做好的程序员
|
58
alicli 2017-04-11 17:03:32 +08:00
对方只是提供了一个简单的接口,写了个简单的例子来说明接口的用法,不适合某些业务可以自己加个中转吧。。。
说实话,面对楼主的疑问,回答除了“这只是个例子”以外,不知道还能回答什么 |
59
JohnSmith 2017-04-11 17:17:35 +08:00
前端可以 jwt
|
60
phithon 2017-04-11 18:21:51 +08:00
@only0jac
你可以这么理解,你不是怕 Token 被别人拿到么,那你就把 Token 和文件名一起 md5 以后,作为一个新 Token 。 但这个方法需要“贴图库”那边支持,他们那边拿到这个新的 Token ,需要将你原本的 token 和文件名一起 md5 ,再和新的 Token 比较。 |
61
580a388da131 2017-04-11 18:33:48 +08:00
纯前端没办法,即便是七牛,也得有个后端获取有有效期的 token 。
|
62
only0jac OP |
63
kaer 2017-04-11 20:08:18 +08:00 1
一直用七牛
贴图库免费的时候 就在她们群里 但是从没用过 一直不相信她们 |
64
phithon 2017-04-11 20:35:32 +08:00
@only0jac 但你原始 token 没有暴露呀,这个新 Token 只是个签名而已,用户如果要上传其他文件(文件名不同),就必须要一个新的签名,只要原始 Token 没有暴露,用户就不能随便上传内容。
|
65
jy02534655 2017-04-12 09:34:25 +08:00
楼主可以参考下阿里云的前端上传示例,这种做法就比较安全了。楼主用的图床理论上应该有类似的用法吧,没用过不发表意见
|
66
import 2017-04-12 19:08:38 +08:00
这个 token 是用来做 CSRF 验证的么??
|
67
only0jac OP |