我现在开发用的阿里云,但是开发过程中遇到一些问题,主要是关于云存储。
首先阿里云的云存储没有权限管理而url是固定的,如果存入一些敏感信息比如身份证照片,其他人有没有遍历我的阿里云的服务空间找出这些身份证的能力?
如果我使用腾讯云虽然有权限限制但是要获取url好像必须使用uniCloud.getTempFileURL函数实现,那么带来的问题是这个函数调用应该是计费的?第二个问题是如果要显示图片用阿里云我只需要<image src="在这里填url"></image>但是用腾讯云每个地方都要套一层uniCloud.getTempFileURL?
还有就是数据管理的问题,根据文档对deleteFile(Object object)的描述如下:
客户端删除云存储文件。
不建议使用此API。删除云存储文件是一个高危操作,应该由云函数进行权限校验后由云函数来删除云存储的文件。
阿里云不支持此API,前端运行此API会报权限错误
腾讯云支持此API,如若使用,需搭配腾讯云提供的自定义登录和权限设置使用
上面说"阿里云不支持此API,前端运行此API会报权限错误",那么在云函数中是否可以使用此api。
最后如果用户恶意大量上传数据有没有办法阻止?
Javin (作者)
感谢你的回答,如果用户自己私自上传数据我能否知道哪些是用户自己私自上传的?好在之后删除掉。
2023-06-05 21:44
Javin (作者)
假设我写一个程序不停的给一个云存储上传数据作为攻击手段,一个终端一天上传100G,30天就是3T。如果多几个这样的终端很容易发起攻击造成云存储空间耗尽,我在想能不能写个程序自动定时监测没有经过授权上传的数据。我能想到最简单的方式就是每个上传的数据都要入库,但是随后能否循环检查上传的文件,这样可以和数据库做对比,但是这样做也有一个效率的问题,在新文件不多的情况下是可以考虑的。还有如果使用腾讯云的话我看文档有个腾讯云存储自己的用户系统,我能否在腾讯云的这个用户系统里面封禁某个用户?
2023-06-05 22:15
Javin (作者)
我好像没有找到获取从某一个时间段之后上传的文件列表函数。所以这种检索程序能否写的出来?
2023-06-05 22:29
DCloud_uniCloud_VK
回复 Javin: 目前没有提供云储存文件列表的API, 目前来说,还没有人通过上传来攻击的(这个攻击方式影响力不大), 目前主要还是针对CDN流量的攻击.
2023-06-06 11:28
DCloud_uniCloud_VK
还有按量付费是有阈值的, 你可以设置一下上限即可. 套餐的话, 也有上限
2023-06-06 11:30
Javin (作者)
回复 DCloud_uniCloud_VK: 如果套餐达到上限其他用户也会收到影响套餐的硬盘没多大,这是一个很大的问题,而且套餐从新开通依然可以通过这个方式进行攻击。还是云存储做一套临时权限才能彻底解决这个问题。毕竟这么好用的功能再去用阿里云和腾讯云官方提供的存储服务用起来挺别扭的,一些上传的组建也要自己从写。
2023-06-06 16:11
DCloud_uniCloud_VK
回复 Javin: 你用阿里云的oss也一样碰到这个问题,如果你在云函数中上传,然后在云函数内进行权限判断,那流量费用和云函数运行费用更大。
2023-06-06 16:13
DCloud_uniCloud_VK
不过阿里云也在不断升级防护方案, 包括云储存的CDN防刷等等
2023-06-06 16:52
Javin (作者)
阿里云的话我可以给用户生成一个临时的上传证书STS,而且我可以指定用户只能上传什么到什么位置,而不是用户想传什么就传什么,如果有捣乱的用户封他号他就不能再上传了只能从新注册新账号,主要是担心真有人不停的上传数据硬盘满了还没办法清理,直接导致服务彻底不能用了,他干我服务器,老板干我。
2023-06-06 18:46
Javin (作者)
回复 DCloud_uniCloud_VK: 如果使用阿里云官方的oss,就是会浪费掉套餐带的云存储资源,而且攻击者其实也可以上传数据到这块没有用的云存储上只是不会影响到服务。
2023-06-06 18:52