我提供订阅服务,用户每月支付9美元即可访问100部视频。之前,我的视频是在Wistia上上传的,并且具有域访问功能-仅当从我的域访问视频时,它们才能播放。如果有人复制了嵌入代码并尝试访问它,则视频将无法播放。
我现在正在将视频迁移到Google Cloud存储。
当前设置如下
问题
由于Google存储桶具有公共访问权限,因此可以轻松访问和共享mp4 URL。用户可以在第一个月支付9美元,然后查看页面的来源并获得mp4文件的网址并下载全部100部视频,然后可以自由分发或将其上传到youtube。
可能的解决方案
可以在Google存储空间做一些事情来防止这种情况。对于我之前的问题,建议使用签名的URL,但它们不能解决此问题。还有其他ACL或CORS选项可以确保视频安全,使其仅在我的网站上播放或提供其他预防措施。
可以通过编程方式完成某些事情。我的网站基于PHP。可以屏蔽URL还是使URL难以通过源代码访问。
可以通过flowplayer完成某些操作。我相信他们也有付费版本。他们是否提供任何形式的访问安全性。
我意识到人们是否可以找到许多工具来下载视频-我要做的就是在查看源代码中不显示指向mp4文件的直接链接。
谢谢
答案 0 :(得分:0)
如果您公开发布视频并通过其公共访问URL提供视频,那么就没有办法在不再允许付费用户访问的同时限制对不再付费的用户的访问。来自Making Data Public:
注意:当公开共享对象时,只要知道对象URI,任何用户都可以访问该对象 公开的。
因此,要实现您想要的目标,您需要:
停止公开您的视频。使用最适合您情况的Access Control Options中的任何一个。 Signed URLs是一个不错的选择。您可以使用自己想要的访问逻辑(例如,检查您的域)来限制signed URL generation。
从不发布公共访问网址。使用与上述相同的访问控制选项。签名的URL有效,但仅在您使用它们的情况下有效,而不像现在一样公开访问URls。 注意:不共享公共网址并不能确保不会(偶然或有意地)猜测和泄漏这些网址,因此有可能绕过您可能使用的任何访问控制(请参见security by obscurity )。以及可能会删除共享的公共访问权限。签名的URL也可以用于上传(如果您很在意)。
拥有自己的访问控制方法(我想暗示的是#2)或第三者(您的#3)并不是没有可能。但是以上说明在两种情况下均适用-如果视频是公开共享的,则可以忽略它们。那为什么要打扰呢?