javascript - 用户可以操纵 javascript 来覆盖 S3 crossdomain.xml 吗?

标签 javascript file-upload amazon-s3

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

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

注意:我使用的是存储桶拥有者访问 key 和 secret key 。

更新:

有什么可能的方法来解决这个问题......?

最佳答案

如果您不反对运行额外的资源,您可以通过运行 Token Vending Machine 来实现。 .

这里是要点:

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

详细介绍了使用每用户访问权限创建类似“保管箱”服务的简单示例 here .

关于javascript - 用户可以操纵 javascript 来覆盖 S3 crossdomain.xml 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14215557/

相关文章:

javascript - 捆绑 Bootstrap 4 - Bootstrap 工具提示需要 Tether

javascript - 如何使用javascript和ajax调用为文件上传添加进度条?

file - 制作特定文件大小的测试 PDF 的简便方法

javascript - Meteor 中的简单文件上传

amazon-web-services - 使用以 aws : in IAM policies 为前缀的标签

amazon-web-services - EMR 在哪里存储 Spark 标准输出?

amazon-web-services - 将 AWS S3 地形化为 Lambda 通知触发器

javascript - 无法回调,来自api的json数据

javascript - 定位鼠标相对于变换平面的位置

javascript - jquery或native无法通过ID获取元素