2

我允许用户直接上传到s3,不需要经过服务器;一切正常;我唯一担心的是安全。

在我的 javascript 代码中,我检查文件扩展名。但是我知道在 javascript 代码中,用户可以操纵脚本——在我的情况下允许上传 xml 文件——(因为客户端上传),因此他们不能替换我存储桶中的 crossdomain.xml 并因此能够控制我的桶?

注意:我正在使用存储桶所有者访问密钥和密钥。

更新:

任何可能的方法来克服这个问题......?

4

1 回答 1

1

如果您不反对运行额外的资源,您可以通过运行Token Vending Machine来完成此操作。

这是要点:

  • 您的令牌自动售货机 (TVM) 以降低权限的用户身份运行。
  • 您的客户端代码仍会直接上传到 S3,但它需要联系您的 TVM 以获取临时的、用户特定的令牌,以便在用户登录时访问您的存储桶
  • TVM 调用Amazon Security Token Service为您的用户创建临时凭证以访问 S3
  • S3 API 在发出上传/下载请求时使用临时凭证
  • 您可以在存储桶上定义策略以限制每个用户可以访问的存储桶区域

此处详细介绍了使用每用户访问创建类似“Dropbox”的服务的简单示例。

于 2013-01-08T14:49:48.887 回答