我想阻止通过 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 时才允许访问来防止这种情况发生。
也许我也使这种情况过于复杂,并且有一个更简单的解决方案。
任何帮助表示赞赏。