防止从亚马逊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