如何安全地在网站上提供视频

Joh*_*ohn 4 security video streaming download video-streaming

我问的问题与这些问题有些相关:

安全的视频服务方式

安全的视频流

但是,没有人提供与我的情况相关的答案.

我的情况如下:我正在构建一个非常简单的学习管理系统.如果学生已经付费,他们可以访问视频课程.我想阻止:

  • 机器人/蜘蛛发现这些视频并下载它们
  • 让人们只需查看来源,复制视频的网址,并与其他人分享

我很怀疑人们会试图破解网站窃取视频.

保护这些视频不被共享的最佳方法是什么?我必须将视频存储在我的网络服务器上吗?我可以利用youtube或vimeo等视频平台吗?

egg*_*ggy 12

长话短说,没有简单的解决方案.

我会直截了当地说,如果有办法阻止人们下载视频,那么每个视频网站都会这样做.

我已经想到了下面列出的一些方法,你可以做些什么来让学生/观众下载视频不值得.

  • 模糊URL
  • 经常更改URL
  • 限制每个IP地址/子网的下载次数
  • 让他们在定制的"定制服务"视频播放器中查看它
  • 使用已有的视频流服务

下面将更详细地讨论每个.

模糊URL

您可以像这样模糊URL:

http://mylearningmanagementsystem.com.au/e12d8cd38f00f204e9801998ecc8427e/video.flv
Run Code Online (Sandbox Code Playgroud)

您可以计算文件名称的哈希值(或者盐和哈希值,上面只是一个示例)并在URL中使用它.

这可以通过这样的方式实现,即它们将足够模糊,但仍然可收藏并且对于观看者而言是用户友好的.

如果您想更进一步,可以将视频分解为部分 - 这将在自定义构建部分中讨论.

经常更改URL

使用某些代码,您可以将视频设置为每周日晚上11点59分为您的时区更改网址.但是,您链接到的任何页面都必须自动或手动更新,这本身就很麻烦(如何测试代码/如果它丢失了什么,你没有意识到/类似的东西).

即使您完成所有这些工作,任何为该页面添加书签的用户都会遭受链接腐烂.

限制每个IP地址/子网的下载次数

使用一些时髦的服务器端代码,您可以限制视频可以下载到IP地址的次数(或者取决于用户案例,IP的子网).

这不是我的强项,但您可以查看有关动态IP限制的文章.以下是该网站的摘录

根据以下任一标准动态阻止来自IP地址的请求:

  • 并发请求数.
  • 一段时间内的请求数.

也有可能与Drupal一样.

让他们在定制的"定制服务"视频播放器中查看它

你可以加倍努力,建立自己的视频管理系统(看起来像你),并从你自己的服务器(这就是我所说的定制服务)提供视频,但是一些尝试过这种情况的程序是像索尼的CD管理软件一样有缺陷,或者像Apple iTunes的FairPlay DRM软件那样惩罚诚实的用户.

如果您最终走的是为用户提供程序/网络服务来观看视频并将其限制为密码/加密密钥的路线,那么您可能会惹恼那些真诚地为您的内容付费的客户.这基本上是所有版权保护系统都试图完全失败的原因,因为要么程序不够安全,要么人们只是停止使用它,因为它很难处理.

当您向用户提供视频时,您可以将它们拆分并按章节分开,因为第一章是一个视频,第二章是另一个视频,等等(如下所示):

http://mylearningmanagementsystem.com.au/video_title/chapter_01/video.flv
http://mylearningmanagementsystem.com.au/video_title/chapter_02/video.flv
http://mylearningmanagementsystem.com.au/video_title/chapter_03/video.flv
Run Code Online (Sandbox Code Playgroud)

...并且您可以将其与第一部分中的哈希构思相结合(隐藏URL):

http://mylearningmanagementsystem.com.au/e12d8cd38f00f204/8fd3611c40e74c3d/video.flv
http://mylearningmanagementsystem.com.au/e12d8cd38f00f204/92d7f54d09c80436/video.flv
http://mylearningmanagementsystem.com.au/e12d8cd38f00f204/27bd98792bea3103/video.flv
Run Code Online (Sandbox Code Playgroud)

这可能有其缺点:

  • 一开始就暂停视频以加载视频的低互联网用户会遇到问题(现在问题不太常见,因为互联网现在更快更容易访问)
  • 如果缺少一个视频,整个视频将无法播放
  • 你将如何管理每个链接?每个视频名称是否具有相同的哈希值或不同的哈希值?
  • 你需要手动分解每个视频吗?

这里的关键点是,这确实为你做了很多不必要的工作.下一个选项是使用已经可用的视频流服务.

使用已有的视频流服务

有很多选项可以托管和分享您的视频.YouTubeVimeo是其中两种选择.我会解释为什么我更喜欢后者.

  1. 密码保护

    如果您只想与特定数量的付费用户分享视频,则可以使用Vimeo上的密码保护您的视频.AFAIK,YouTube不提供此服务 - 它只允许您选择成员来观看视频.

    不仅如此,您还可以将一堆视频添加到相册(在Vimeo中),并对相册进行密码保护,因此您只需更改相册的密码即可.

    请记住,您可能会遇到更多支持消息,例如"但这是当前的密码还是上周的密码?"

  2. 设置嵌入设置

    您可以使视频无法嵌入任何页面,因此用户必须直接访问Vimeo,输入密码(如果您在上面设置了密码),并在其Web浏览器中查看.AFAIK,您可以嵌入YouTube中可以查看的视频.

您必须记住,Google快速搜索显示, 大量 在线网站允许您从这些视频托管网站下载视频.FirefoxChrome甚至还有浏览器插件.

如果您的业务依赖于您的视频用于货币化目的,并且您希望更进一步,那么付费流媒体服务专门从事内容分发,具有适当的访问权限管理和内容保护.其中一项服务是Brightcove.Brightcove节选如下:

Brightcove Video Cloud可以安全地提供最高质量的点播和实时视频体验,无论身在何处,都可以覆盖您的受众.我们简化了向网络,移动和联网电视中日益复杂的设备和标准生态系统的交付

......而且......

保护您的宝贵内容

确保您的视频安全.使用RTMPe流加密和SWF验证可防止视频流翻录和内容被盗,并确保您的视频流仅在授权播放器中播放.

细粒度访问控制

准确确定内容的显示时间和位置,以符合内容许可限制,全球发布推出计划或安全的防火墙后交付.用户友好的图形界面允许您按日期,域,地理位置,播放器或IP地址限制访问.为了更好的控制,通过IP地址范围限制对敏感材料的访问,并确保只能从批准的网络中访问内容.

在一天结束时......

如果你可以查看它,你可以下载它,无论你多么模糊它.

如果有办法阻止人们下载视频,那么每个视频网站都会这样做.

如果你有无限的资源,你可以结合上面列出的所有技术,使其不值得任何人的时间.但是,在您投入所有努力之后,观众可以始终设置许多屏幕捕获程序中的一个,以将所有视频记录到其硬盘上.

这取决于您,以及您希望对视频保持警惕.请记住,您花费更多时间来翻录视频的努力和时间与使常规付费客户更难获取和使用内容成比例.

更多信息: