订阅保护内容?

时间:2008-11-30 16:26:39

标签: protection subscriptions

开发提供课程内容的订阅类型网站(如Lynda.com)的最佳方式是什么?

如何保护内容不被下载(音频和视频)?

处理密码的最佳方法是什么? 用户是否可以拥有登录名和密码,然后还有一个额外的密码会定期更改并由网站分发以减少使用其他人密码的人?

如何最大程度地减少与其他人共享密码的人数?

3 个答案:

答案 0 :(得分:1)

  1. 保护内容非常简单:只需编写一个可以访问用户会话/安全详细信息的页面,然后检查他们是否有权下载所请求的文件。您可以使用Java Servlet或任何其他Web平台(如ASP.NET,PHP等)轻松完成此任务。

  2. 我建议不要使用这种多密码技术。对您的客户来说,这将是一个麻烦。它还会让您觉得您的客户正在试图欺骗系统。我要做的是记录所有用户登录以及特定文件的用户访问,并记录IP地址。您可以编写一些代码来分析此数据,并查找来自不同IP的并发登录。您还可以编写代码以防止多次登录。

答案 1 :(得分:1)

您无法阻止人们复制您的内容。如果您希望他们能够查看它,那么他们将必须能够下载它。如果他们可以下载它,他们可以保存它。

我不是故意让它看起来毫无希望,但我只是想在这里说实话。您可以尝试检测是否有人在他们的帐户上运行蜘蛛您的网站,尽管这可能有点困难。也许限制他们每10或15秒下载1页。并且每次登录限制为50页。这对大多数用户来说并不太明显,但会严重阻止用户尝试做的任何自动抓取。这些数字可能需要根据您托管的内容类型进行调整。

答案 2 :(得分:0)

注意:回过头来看,我发现很多缺失的细节和边缘情况需要识别。我将它留在这种形式,因为我认为它提供它的意义是有用的(即使细节不是完全形成),所以你可以看到你将要做什么。您需要通过威胁模型来使案例正确排列。

关于密码,您可以通过使用安全连接(TSL和https :)的身份验证过程来防止密码共享,并且在客户端上计算用户提供的密码的哈希以及计算机和用户 - 帐户(与您的用户ID和客户端计算机上的用户帐户)关联的数据。即使密码已知,散列函数也不会在其他计算机或用户帐户上生成正确的散列。

有一个有趣的问题是如何在第一次与您使用的用户ID关联时建立哈希(这是您接受的 - 您永远不知道用户选择的密码)。您需要为订阅提供类似的唯一密钥,并在注册时通过电子邮件握手提供,并初始选择用户ID(如果不同于电子邮件地址)和密码。

如果您使用cookie来避免人们不得不重复登录,您可能希望在cookie中加密/散列信息,将其与机器和订阅联系起来。

现在,做了这么多,你确实遇到了人们希望能够在多台机器上工作并且还需要重置用户密码以便他们可以选择一个新密码来代替被遗忘/受损密码的问题。由于这意味着提供电话支持和其他重新验证真实用户的方法,您可能需要考虑是否值得为您付出代价,以及用户是否认为这对他们来说是值得的。

关于盗用从网站获得的材料,你有一个更难的问题。加密不会有太大帮助,您经常希望允许用户保留材料以供离线使用,在使用材料时参考等等。您可以做的是将材料识别为您的财产,并将材料标识为您的财产和以难以切除所有事件的方式提供给特定订户。这是很多服务器端的工作。结合对订阅者的不信任的明显证明,您可能想要重新考虑并努力获得更值得信赖的东西,并且提供一些有价值的内容,而这些内容并未反映在内容中。 您确定要这样做吗?

注意2:如果你正在提供某种进展,例如通过课件和课程,你可以做很明显的事情,如果有多个人进来,如果他们取得任何进展,他们让别人搞砸了。个性化和进展越多,将帐户提供给其他人使用的吸引力就越小。这并不妨碍保留材料,但任何广泛重复使用的提取内容都必须通过其他方式处理。