PDA

查看完整版本 : [图解]Helix配置ODBC实现防盗链多程下载教程


Tony
2004-12-03, 11:50 PM
helix限制下载、用户认证之我见!!!

本人自己也有一个影视网站,为全免费的,但是经过一段时间后,盗下的人越来越多,所以开始对HELIX进行研究,终于解决了盗下和用户认证的问题,以下是我的方法,不足之处清高手指教!



第一个大问题:服务器软件配置



在SQL中建立VOD数据库

经发现在C:RealCommercedatabaseodbcmssql下有个ppvdemo.sql文件,是SQL表结构,刚好可以用来SQL中建立数据库。

数据库的建立我就不多说了,
http://www.uudog.com/newscontent/images/helix_odbc_1.jpg (http://www.uudog.com/newscontent/images/helix_odbc_1.jpg)

配置ODBC数据源

第一步:在系统DSN中选择“添加”



http://www.uudog.com/newscontent/images/helix_odbc_2.jpg

第二步:选择最下面的SQL SERVER



http://www.uudog.com/newscontent/images/helix_odbc_3.jpg

第三步:定义数据库名称



http://www.uudog.com/newscontent/images/helix_odbc_4.jpg

第四步:选择SQL中我们刚刚建立的VOD数据库



http://www.uudog.com/newscontent/images/helix_odbc_5.jpg

第五步:测试连接,成功就对了



http://www.uudog.com/newscontent/images/helix_odbc_6.jpg

helix配置

这里是重点哦,为了操作正确,建议你按我的标准一步一步来,等熟悉了以后你就可以自己改来改去了!!!

第一步:配置加载点。完成后记得“应用”



http://www.uudog.com/newscontent/images/helix_odbc_7.jpg (http://www.uudog.com/newscontent/images/helix_odbc_7.jpg)

第二步:配置用户数据库。选择“+”号添加。完成后记得“应用”



http://www.uudog.com/newscontent/images/helix_odbc_8.jpg (http://www.uudog.com/newscontent/images/helix_odbc_8.jpg)

第三步:配置用户认证,先按1增加一个域描述,“应用”后再按2方法增加一个用户。名字和密码都为test_sql



http://www.uudog.com/newscontent/images/helix_odbc_9.jpg (http://www.uudog.com/newscontent/images/helix_odbc_9.jpg)

第四步:配置商业应用。同样先按1方法增加一个规则名,应用后再按2方法赋予test_sql这个用户名的访问权限。



http://www.uudog.com/newscontent/images/helix_odbc_10.jpg (http://www.uudog.com/newscontent/images/helix_odbc_10.jpg)

第五步:设置test_sql用户权限



http://www.uudog.com/newscontent/images/helix_odbc_11.jpg

一切好了以后,为了保证,重起helix服务。

然后再播放:rtsp://ip:554/vod1/filename

提示输入用户名密码,都输入test_sql,现在应该可以播放了吧?

如果还不能播放的话(一般错误为提示一行英文字,忘了:)),那就认真检查刚刚的配置,或者看你的许可是否支持用户认证功能。

第二个大问题:影视系统配置

服务器软件设置解决后,我们只能用一个或者几个固定的用户名播放,这样还是防止不了下载。

先介绍一下我的影视系统配置情况。我是采取了影视系统和现有论坛用户数据库相结合的。只有论坛注册用户才能播放电影。但是就是有那么些用户老是盗下影片,造成服务器流量剧增。

现在的解决方法是:

举列play.asp为播放窗口页面

页面开头就把用户名和一个临时密码写入HELIX数据库。假设有test这个用户已经登陆,他打开play.asp页面后,play,asp中代码如下:

user=session("username") //test用户已经登陆,所以session("username")=test

lsmm=123456 //这里可以写一个随机函数,每次都不一样

pathurl="vod1/" //授权访问路径

然后把user和lsmm用代码写入vod数据库中的user中

再写一个代码赋予test的访问路径到vod数据库中的permissions中

sql="insert into users (userid,password,uuid_writeable,uuid) values ('"&user&"','"&lsmm&"',1,'')"

conn.execute sql

sql="insert into permissions (userid,url,url_type,expires) values ('"&user&"','"&pathurl&"',1,'')"

conn.execute sql

数据库写入完毕后就是播放的代码了,播发代码就是播放窗口了,不用我说了吧。最后就是将user和permissions两个表中的用户信息删除。

sql="delete from USERS;delete from permissions"

conn.execute sql

整个代码流程:

///把用户名写入HELIX数据库////

///播放代码///

///删除用户///

也就是说用户播发电影后马上把其用户和临时密码删除,这样他用任何方法都下载不了了。

思路给大家了,具体怎么操作还是要靠大家自己了阿, 如 你有更好的方法别忘了告诉我啊!



还有一个忘了说,在VOD数据库中的access_log表,里面详细记录了用户播放影片的日志,很实用哦,可以根据这些内容开发更强大的影视系统。

评论:

这种方法适合于在线用户小的用户,实现起来比较方便,无需要任何第三方插件,配置比较烦琐一点,另外还需要自己对数据库操作,人数少时,采用ODBC连接数据库不会出现稳定性的问题。另外加上不停操作数据库,给服务器带来了一些额外开销,特别是如果在线人数多时,可能会遇到认证不能通过的问题。所以只推荐小型客户使用。