假设:
有没有办法安全地呈现Flash视频播放器(SWF),而无需用户确定流式视频的直接链接(通过页面源或其他方式)?假设Flash视频播放器是非专有的并且完全可以更改。如果没有SWF混淆,是否有足够的安全性?
答案 0 :(得分:2)
我看到了3种可能的解决方案
我已经尝试过,我认为它是目前为止最好的流媒体解决方案。 Adobe Flash Media Streaming http://www.adobe.com/products/flash-media-streaming.html及其架构更容易扩展,成本更低。但这与您现有的CDN解决方案不兼容。 Wowza提供了一个基于令牌的安全插件,可以阻止Flash客户端在不首先允许的情况下流式传输视频:http://www.wowza.com/forums/content.php?51这是一个真正的流媒体环境,因此您不必担心用户嗅探浏览器连接并下载内容。虽然它不是完全防弹,但它非常安全,因为你将使用流媒体协议,例如rtsp://
它也是基于令牌的,需要您在Lighttpd网络服务器后面托管视频。 http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModSecDownload这将使视频链接在一定时间后过期,这将使热链接不是不可能的,但更难维护,因为它需要“热链接器”在每次过期时更改链接。根据视频的长度,它可能会在5分钟后过期,这非常安全。
我一直在使用EdgeCast作为图像和视频的CDN,它们提供与Lighttpd + mod_secdownload相同的保护类型。它被称为“基于令牌的身份验证”,它也可能在其他CDN服务中可用。使用EdgeCast API我可以请求特定URL的令牌,并具有到期时间。正如我对mod_secdownload所做的那样。在5分钟的到期时间内,热链接变得毫无用处。
如果可以,使用流媒体服务器是阻止内容下载和热链接的最佳方式。任何在浏览器中混淆URL的尝试最终都会失败,因为它很容易嗅探浏览器连接并重复相同的协议。出于同样的原因,Flash客户端中的任何混淆都不起作用,因为浏览器将显示可下载的URL。