3

我试图把我的头围绕Cloudfront。我们注意到一些视频网站不允许我们下载视频。即没有物理链接到该文件。或者至少,我无法使用Firebug在Flash Player的源代码中找到它。Amazon Cloudfront是否隐藏文件直接下载?

在一些网站上,一段典型的代码块可能看起来像以下:

<object width="496" height="24" type="application/x-shockwave-flash" id="media_player" name="media_player" data="/flash/jwplayer/player.swf" ....> 

    <param name="flashvars" value="file=http://some_bucket_name.s3.amazonaws.com/uploads/users/1/foo.mp3&amp;title=Test&amp;author=Foobar&amp;plugins=&amp;autostart=true&amp;controlbar=bottom&amp;repeat=none&amp;screencolor=000000"> 

</object> 

以上,您会注意到,从HTML源代码,该文件可以是“巧妙”通过物理链路下载:http://some_bucket_name.s3.amazonaws.com/uploads/users/1/foo.mp3

我明白什么是CDN。一个很好的解释可以找到here

如果我们使用Cloudfront,这会不会允许最终用户直接从我们的应用程序中'下载'媒体文件,因为这些文件将被流式传输?

+0

我的意见是:如果浏览器/ flash插件可以加载它,用户也可以加载它。他们可能需要更复杂一些,但这是可能的。例如Youtube视频受到过期令牌等的保护,但您仍然可以从浏览器缓存中获取文件。 – Wukerplank 2011-04-08 08:06:42

+0

嗯,所以没有办法让用户下载媒体?即保护媒体不被下载? – 2011-04-08 09:34:40

+3

你可以让它变得困难,但你不能让它变得不可能。 – Wukerplank 2011-04-08 09:38:25

回答

2

正如Wukerplank所言:“你可以让它变得困难,但是你不能让它变得不可能。”

+0

这个答案不再是真实的,因为亚马逊增加了一个“签名的URL”选项,解决了这个问题。 – recluze 2014-05-08 09:23:40

+1

签名的URL只是掩盖了使文件可下载的过程 – 2014-05-22 02:12:29

+0

哦,它们有一个超时等等。如果您将云端设置在中间位置并仅通过该端口进行访问,则可以保护文件。如果我错了,请纠正我,嘿嘿。 – recluze 2014-05-22 04:13:24

0

使用rtmpe添加了另一层保护。大多数下载应用程序都有困难,但正如Wukerplank所说,没有什么是防弹的。