请问下 OSS 的上传安全性大家是怎么保证的啊

2019-09-27 14:10:44 +08:00
 intermole

oss 如果按照官网的最佳实践,是直接前端 js 直传 oss 的,那上传过程就完全绕开了自己的服务器,我都没办法知道图片是哪个用户上传的……那如果黑客拿到 STS 令牌以后,调用脚本疯狂上传,不是很快就把 oss 的容量耗光了啊,请问在直传这种场景里,有没有办法针对用户进行上传流量限制的?

7509 次点击
所在节点    问与答
38 条回复
b821025551b
2019-09-27 14:13:11 +08:00
没做过直传,我都是上传自己服务器后再从服务器传。
U2Fsd
2019-09-27 14:14:09 +08:00
服务端签名后直传,签名有过期时间的。

在签名之前,可以对用户身份做校验。
U2Fsd
2019-09-27 14:15:04 +08:00
@b821025551b #1

这样太浪费服务器带宽了。
intermole
2019-09-27 14:15:58 +08:00
@U2Fsd 在申请的时候可以做校验,但是别人在这半小时里的上传行为我没法控制啊,而且他到底传了多少流量的图片,我也跟踪不到啊
b821025551b
2019-09-27 14:16:04 +08:00
@U2Fsd #3 上传入网带宽不限,服务器到 oss 又是内网
lwp2070809
2019-09-27 14:19:52 +08:00
我没有使用过直传的方式, 都是前端先上传到服务器再上传 OSS. 阿里云 ECS 上行至少百兆, OSS 区域选择和 ECS 地域一致就可以走内网传输, 很少会有带宽瓶颈.
U2Fsd
2019-09-27 14:23:13 +08:00
@intermole #4

签名直传可以设置上传回调。OSS 会回调你的服务器,可以实时了解用户上传了什么文件。
imdong
2019-09-27 14:23:25 +08:00
看了下 oss 的文档,末尾确实有提到:



https://help.aliyun.com/document_detail/31952.html#concept-xqh-2df-xdb

如果有提供有限时间内,一次性授权是最优解。
U2Fsd
2019-09-27 14:25:18 +08:00
@imdong #8

你这个文档说的是下载控制。

LZ 问的是上传控制。
imdong
2019-09-27 14:25:32 +08:00
使用在 URL 中签名的方式,会将你授权的数据在过期时间内曝露在互联网上,请预先评估使用风险。

U2Fsd
2019-09-27 14:26:52 +08:00
服务端签名直传并设置上传回调
https://help.aliyun.com/document_detail/31927.html
raopeize
2019-09-27 14:29:17 +08:00
保证你 sts 服务的安全性。
imdong
2019-09-27 14:31:29 +08:00
@U2Fsd #9 在文档 对象存储 OSS > 开发指南 > 对象 /文件( Object ) > 上传文件( Object ) > 授权给第三方上传

中有提到支持 URL 签名 和 临时访问凭证

https://help.aliyun.com/document_detail/31852.html?spm=a2c4g.11186623.6.616.47d0510dXqYWAF

而且现在很多 ECS 服务器(应用机)本身都是很低的带宽和硬盘。

访问很多都是利用 CDN 之类的来实现的。

一些有状态服务都是专门的服务器,而上传到服务器在应用机上处理,依然会占用一定的资源。

如果有能力,直接前端传 OSS 确实是很优解(不考虑类似安全性问题的话)。
intermole
2019-09-27 14:31:48 +08:00
@U2Fsd 好的,谢谢
intermole
2019-09-27 14:33:29 +08:00
@imdong 收到,谢谢
opengps
2019-09-27 14:36:30 +08:00
1 楼的做法正确: https://www.opengps.cn/Blog/View.aspx?id=43
服务器的上行带宽是不限速的(参考理论值:固定带宽上限 200M,按量付费上限 100M ),所以 OSS 传到服务器并不明显因为占用带宽导致的干扰其他使用
opengps
2019-09-27 14:37:32 +08:00
@opengps 换个概念。把上一句里的上行带宽替换成“服务器入带宽”,上下行我自己都经常混淆
U2Fsd
2019-09-27 14:39:42 +08:00
@opengps #16

emmm 如果大家都这么干的话。

怪不得阿里云的 ECS 的 IO 性能会被玩的这么差。
intermole
2019-09-27 14:39:45 +08:00
@opengps 但是如果大量的 c 端用户先把图片上传到 ecs,再有 ecs 转发给 oss 的话,ecs 可能会成为性能瓶颈,压力会比较大
intermole
2019-09-27 14:46:26 +08:00
@U2Fsd 貌似有个致命的问题啊,我看了文档,这个回调是 js 来设置的,那如果黑客根本不从我前端走,自己直接用拿到的 sts 凭证调用阿里的 sdk,我根本限制不了他啊,我还是跟踪不了是这个黑客传的照片啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/604799

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX