防止从亚马逊s3直接下载音频文件

我有存储在Amazon S3的音频文件,可以从基于网络的音乐播放器应用程序访问,也可以从移动应用程序访问。即使没有登录的用户也应该可以访问音乐。不过,我不希望人们使用链接下载内容。这可以在s3中完成吗?防止从亚马逊s3直接下载音频文件

谢谢

回答:

您可以根据HTTP引用来限制访问。这不是防弹(推荐人可以被欺骗),但它会阻止随意下载。

您使用存储桶策略来限制Referrer的可能值。

有此页面上的一个例子(稍微向下滚动)http://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html

这里是他们的榜样:

{ 

"Version":"2008-10-17",

"Id":"http referer policy example",

"Statement":[

{

"Sid":"Allow get requests originated from www.example.com and example.com",

"Effect":"Allow",

"Principal":"*",

"Action":"s3:GetObject",

"Resource":"arn:aws:s3:::examplebucket/*",

"Condition":{

"StringLike":{

"aws:Referer":[

"http://www.example.com/*",

"http://example.com/*"

]

}

}

}

]

}

你也可以做签署的网址到期 - 这将阻止人们链接到您的内容来自其他网站。

回答:

一种情况浮现在脑海:

当你的音乐播放器应用程序要玩的东西,它要问你的后端的URL到MP3。您的后端可以生成将“将过期时间”参数[1]设置为10秒的URL。

这样,后端返回的URL只能用于10秒,这对于音乐播放器从S3启动下载应该足够了。

当然,如果用户在10秒窗口中看到某种类型的HTTP嗅探器中的URL并开始下载,用户可以下载该文件。

但是,没有防弹的方法来保护用户免受他们设备访问的内容的掌握。如果内容交付给设备,那么总是有足够的技术人员掌握它的方法。

p.s.如果您的MP3播放器支持寻找(特别是通过发送另一个HTTP范围请求来寻找),那么您必须重新获得一个新的URL,并在后端刷新“expires”参数。

[1] http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html

以上是 防止从亚马逊s3直接下载音频文件 的全部内容, 来源链接: utcz.com/qa/260829.html

回到顶部