1

我想阻止通过 Amazon S3 生成的下载链接url_for

s3 = AWS::S3.new(
  :access_key_id => 1234,
  :secret_access_key => abcd
)
object = s3.buckets['bucket'].objects['path/to/object']
object.url_for(:get, { :expires => 20.minutes.from_now, :secure => true }).to_s

在用户生成它之后传播。用户通过我的应用程序购买了链接,我只希望他下载它(通过 url_for 提供的唯一令牌解决)但只能从我的应用程序下载。

问题是该链接仍然可以获得 c/p 并在整个网络上共享。我如何通过例如授权引用者/告诉 S3 仅在我的应用程序发生 DL 时才允许访问来防止这种情况发生。

也许我也使这种情况过于复杂,并且有一个更简单的解决方案。

任何帮助表示赞赏。

4

1 回答 1

1

查看 CORS,这是一种阻止来自其他网站(仅来自允许的来源/引用者)的 S3 中存储的热链接文件的方法,结合到期这应该可以工作。

http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html

于 2013-07-04T14:46:20.697 回答