我正在建立一个付费的iPhone应用程序 - 向用户显示一些优质内容视频。 - 应用程序从UIWebView中的Web服务器加载页面 - 但视频是在其他视频托管网站上托管的。
我意识到,为了让我保持这个应用程序付费,我需要保持视频链接受保护/安全(否则如果网址被泄露,没有人会想要支付它)。
我可以轻松地对网页进行密码保护(指向实际视频),并使用户名和密码可供iphone应用访问此网页。但是当用户选择视频链接时,应用会加载该网址。如果用户此时嗅探了iphone上的数据包,他们可以访问该网址并直接从那里运行。
我不相信mod_sec_download或mod_xsendfile可以在这种情况下工作,因为视频链接是外部的。正确?
Amazon S3是否可能成为解决方案?
非常感谢任何见解/解决方案。
谢谢!
答案 0 :(得分:0)
不要直接指向视频文件。这将使窃取变得微不足道。相反,指向一个代理脚本,可以检查请求的来源并验证它来自注册购买者。
使用适当的一次性代币,跟踪使用情况等...您可以防止大多数人吸干您的网站。当然,最佳做法是在视频播放时将水印嵌入到视频中,这样即使它被盗,您也可以将其追溯到第一个发布它的人。
答案 1 :(得分:0)
您可能需要查看OWASP Top 10,特别是关于failure to restrict URL access的8号。这实际上就是您的场景:您需要在服务器级别保护资源。您不能只从设备端执行此操作,设备请求的资源位置很容易被发现。
所以它归结为访问资源控制,在这种情况下,视频。如何执行此操作将部分取决于您的服务器堆栈。例如,IIS7有一个集成管道,可以对任何类型的资源(如PDF,图像和视频)应用访问控制(更多内容见OWASP Top 10 for .NET developers part 8: Failure to Restrict URL Access)。或者,您需要某种形式的应用程序代理,它可以负责身份验证,然后传送视频内容。
这实际上是一个网络服务器问题,而不是iPhone问题。专注于在服务器上获得访问控制,然后iPhone端将是一个更直接的过程。