我们使用S3进行图片上传。我们批准上传到我们网站的所有图片。该过程如下:亚马逊S3:不允许客户端修改已上传的图片吗?
- 客户端在给定路径上从JavaScript上载图像到S3上。 (使用令牌)
- 有一次,我们从S3取回网址,我们在数据库中用照片表中的'isApproved flag false'保存了S3路径。
- 一旦通过我们的主管批准图像,图像就开始在我们的网站上显示。
问题是用户可能会通过生成的令牌在批准过程后更改图像(对某些淫秽图像)。我们能以某种方式阻止用户像这样修改图像吗?
一个临时修复方法是缩短令牌生存时间间隔,即5分钟,并仅在该间隔后批准图像。
我看到this但没有帮助,因为版本控制也取代了已经上传的图像,并将之前上传的图像移动到了新版本的路径。
任何更好的解决方案?
您可以将批准的图像移动到具有不同权限集的其他存储桶(或文件夹)(只读访问)。 –
扩展@ KhalidT。的评论,似乎你不应该让用户将对象写入最终发布的路径。当你“批准”他们时你应该这样做。 –