【发布时间】:2017-11-04 10:19:08
【问题描述】:
我正在构建一个包含图像上传功能的应用程序,并且我决定使用 AWS S3 作为文件存储服务。为了将图像上传到 AWS s3,您需要向 API 提供服务凭证。为了保证这些凭据的安全,我决定将它们存储在我自己的服务器中,并且仅在客户端需要上传图片时才将它们提供给客户端。
以下是我上传图片的流程:
-
客户端从相机胶卷中选择图片并点击上传按钮
-
应用程序向我自己的服务器发出请求,并通过访问密钥获取对图像托管服务 (AWS s3) 的响应
-
客户端现在可以将图像上传到 AWS s3。上传完成后,凭据会从客户端中删除。
我的问题是:
-
这样做是否安全? - 有没有更好的方法来处理这个问题?
-
我应该将凭据存储在服务器的什么位置以确保它们的安全?我的意思是我应该将它们存储在文件、数据库、代码中吗?
*我使用graphql/expressjs作为后端,react native作为前端。
【问题讨论】:
-
我用谷歌搜索了“客户端上传到 aws”,第一个结果是 docs.aws.amazon.com/AmazonS3/latest/dev/UsingHTTPPOST.html - 我认为这就是你想要使用的
-
谢谢!。是的,签名的 url 方法看起来很安全。
标签: node.js security amazon-s3 file-upload