我们使用 S3 进行图像上传过程。我们批准上传到我们网站上的所有图像。这个过程是这样的:
- 客户端在给定路径上从 javascript 上传 S3 上的图像。(使用令牌(
- 一旦我们从 S3 获取 url,我们将 S3 路径保存在我们的数据库中,并在照片表中使用"isApproved 标志 false"。
- 一旦图像通过我们的高管批准,图像就会开始显示在我们的网站上。
问题是用户可能会在批准过程后通过生成的令牌更改图像(到一些淫秽图像(。我们可以以某种方式阻止用户像这样修改图像吗?
一种临时修复是缩短令牌生存期间隔,即 5 分钟,并仅在该间隔之后批准映像。
我看到了这个,但没有帮助,因为版本控制也会替换已经上传的图像并将以前上传的图像移动到新版本化的路径。
有什么更好的解决方案吗?
您应该围绕上传的图像创建一个工作流。该过程将是:
- 客户端上传图像
- 这会向您/您的系统触发 Amazon S3 事件通知
- 如果您批准图像,请将其移动到提供您的内容的公有存储桶
- 如果您不批准图像,请将其删除
这可以是使用 AWS Lambda 函数更新数据库并标记照片以供审批的自动化过程,也可以在通过 Amazon SNS 收到电子邮件通知后手动完成。选择权在你。
这种方法的好处是,一旦获得批准,就无法替代任何东西。