用户能否操纵javascript覆盖S3 crossdomain.xml?

用户能否操纵javascript覆盖S3 crossdomain.xml?,javascript,file-upload,amazon-s3,Javascript,File Upload,Amazon S3,我允许用户直接上传到s3,而无需通过服务器;一切都很完美;我唯一担心的是安全问题 在我的javascript代码中,我检查文件扩展名。然而,我知道在javascript代码中,用户可以操纵脚本——在我的例子中,允许上传xml文件——(因为客户端上传),因此他们不能够替换我的bucket中的crossdomain.xml,从而能够控制我的bucket吗 注意:我使用的是bucket owner访问密钥和密钥 更新: 任何可能的方法来克服这个问题…?如果您不反对运行额外的资源,您可以通过运行一个 要

我允许用户直接上传到s3,而无需通过服务器;一切都很完美;我唯一担心的是安全问题

在我的javascript代码中,我检查文件扩展名。然而,我知道在javascript代码中,用户可以操纵脚本——在我的例子中,允许上传xml文件——(因为客户端上传),因此他们不能够替换我的bucket中的crossdomain.xml,从而能够控制我的bucket吗

注意:我使用的是bucket owner访问密钥和密钥

更新:


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

如果您不反对运行额外的资源,您可以通过运行一个

要点如下:

  • 您的代币自动售货机(TVM)作为减少特权的用户运行
  • 您的客户端代码仍然直接上传到S3,但它需要联系您的TVM,以获取临时的、特定于用户的令牌,以便在用户登录时访问您的bucket
  • TVM调用为您的用户创建访问S3的临时凭据
  • S3API在请求上载/下载时使用临时凭证
  • 您可以在bucket上定义,以限制每个用户可以访问的bucket区域

详细介绍了使用每个用户访问权限创建“dropbox”式服务的一个简单示例。

任何人都可以从您的页面获取客户端代码,并对其进行修改以避免xml检查。您对如何解决这一问题有何想法?除非S3允许您在客户端运行代码,您可以在客户端检查文件内容,你可以发布到你自己的服务器并在那里进行检查,然后从你的服务器发布到S3;至于服务器端的处理,我想因为我可以直接上传到s3,我会节省服务器端的处理时间和资源,以备不时之需;我会尽快回复你的…谢谢