【问题标题】:Amazon S3 - direct upload, hide action URL that user can't see itAmazon S3 - 直接上传,隐藏用户看不到的操作 URL
【发布时间】:2012-09-20 07:29:31
【问题描述】:

我们使用 Amazon S3 来存储大文件,因此我们使用从用户浏览器直接上传的方式,如下所述:http://aws.amazon.com/articles/1434

我的问题是: 我可以以某种方式隐藏表单的操作 URL,以便用户无法找到文件上传的位置吗?它会 100% 隐藏,还是我至少可以让有经验的用户更难找到它?

谢谢。

【问题讨论】:

    标签: forms file-upload amazon-s3 hide


    【解决方案1】:

    好吧,您需要将信息提供给用户,以便他们可以使用它来上传到 S3...隐藏它的唯一方法是让他们 POST 到您的服务器,然后您重新发布它到 S3,但这违背了目的不是吗?

    究竟有什么问题?您链接的文档显示您必须签署所有内容,以便他们知道只有您可以制作该表格......所以无论如何,任何人都无法获取您的数据。

    【讨论】:

    • 感谢快速重播。目的是我们的业务知道如何存储大文件,但不想让其他用户知道这些文件的确切保存位置。不幸的是,目前由于数据流量大,无法上传到我们的服务器的解决方案。所以我们想直接从用户上传到 Amazon S3。是否有可能以某种方式覆盖 URL 地址,以便在源代码中表单将对我们服务器的 URL 进行操作,但实际上它会指向亚马逊?谢谢。
    • 嗯,不...因为源代码(实际上是标记)已提供给客户端,以便客户端对其进行操作。即使它以某种方式被混淆,用户仍然需要知道地址才能使用该地址。如果这是出于安全动机,则不是这样做的方法。如果这是出于自豪(不希望被看到使用外部基础设施),那么许多公司正是将 S3 用于此类事情。如果这是出于其他原因,可能会有更好的解决方案。你想通过这个来完成什么?
    • 我们不需要隐藏表单的操作 URL(可能是我的服务器的 URL),但我们不能显示亚马逊的 URL。我刚刚遇到了这个解决方案,它可以工作吗? stackoverflow.com/questions/717663/…
    • 如果您想让 URL 看起来更漂亮,这可能会起作用,但除了 URL 的主机部分之外,它不会改变任何内容。任何如此倾向的人仍然可以检查域名并发现它指向 S3。如果这是出于安全目的,它将不起作用。
    • 好的,感谢您的咨询。不,这不是出于安全目的。只是为了试图隐藏我们的后端,仅此而已。
    【解决方案2】:

    您无法隐藏它,因为整个要点是从他们的计算机直接转到 s3,这是可能的最快方式。即使您从代码中删除它并让您的表单提交按钮请求一个要使用的 url,然后隐藏,它也只会在 console.log 的网络活动中。如果你必须使用 s3,如果你想通过你的服务器运行它,你可能应该安装一个比 node 更快的上传器(或者用 c 写一个?哈哈)。这就引出了一个问题,什么语言/框架可以最快地上传到 s3?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-01
      • 2011-05-12
      • 2013-09-06
      • 2014-10-23
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多