我已经使用PHP来确保只有订阅者可以观看视频,但是我基本上想要进一步,阻止订阅者在登录时下载我的视频,下载器包括Sothink Flv Downloader for Firefox。
解决方法
有几种可以满足您需求的obfuscation技术。 “好吧,”他们说。这些不是全面的证明机制,但很好的可能会阻止80%-99%的人尝试复制您的FLV流/文件。一个专门的黑客会得到它,但大多数人只是脚本小孩(或他们的FireFox插件爱好的表兄弟)。另外,其中一些技巧真的很容易:
>更改/删除服务器响应的MIME类型。无论如何,闪电玩家无辜地忽略它。例如:image / jpeg
>将文件扩展名从.flv更改为其他内容,如.jpg。再次,闪存玩家无论如何都无所遁形。另外,一旦文件保存到磁盘,非FLV播放器就会打开它(并且抱怨它是无效的文件格式)。
>为所有FLV内容设置积极的“不缓存”标题。 (这当然意味着更多的流量和带宽消耗,也许这不是一个问题吗?)
>基于UDP协议流(如RTSP)。虽然我的看法是UDP协议正在出路,用于按需内容的大规模流式传输,但复制要困难得多。例如:Real Downloader目前无法窃取这些流。
>将内容分解成两部分或多部分内容,并将其重新播放。
>将简单的自定义一次性认证机制隐藏您的FLV内容
>播放器请求内容A的授权密钥
>服务器返回一个authorization1密钥:SHA1(content key salt1)
>服务器存储内容密钥,authorization1密钥,authorization2密钥(这是SHA1(authorization1 salt2))
>一次性使用
>有效期(例如:2秒)
>播放器创建authorization2
>玩家请求内容a与授权2
>服务器发送’FLV’内容到客户端当且仅当
>授权密钥与服务器端存储中的内容密钥相匹配
>授权密钥尚未过期
我实际上实施了最后一个想法,授权机制,我自己也可以保证它的实际有效性。不,这不是完全安全的。但这还不错甚至没有电力用户能够击败它。
击败它需要
>逆向工程过程,
>反编译你的Flash播放器,
把它全部重新放在一起
够好了。
这个帖子是从“简单的,定制的一次性认证机制”的建议产生的,令人惊奇的是有多少“plz send me teh codez”电子邮件。不要打扰,我不能 – 这是为我的雇主xtendx AG的专有项目。如果有兴趣购买系统,请发送电子邮件至sales@xtendx.com。