2004-12-03, 11:50 PM | #1 |
注册日期: 2003-10-22
帖子: 11,051
积分:6
精华:24
现金:14342金币
资产:29325299金币
|
[图解]Helix配置ODBC实现防盗链多程下载教程
helix限制下载、用户认证之我见!!! 本人自己也有一个影视网站,为全免费的,但是经过一段时间后,盗下的人越来越多,所以开始对HELIX进行研究,终于解决了盗下和用户认证的问题,以下是我的方法,不足之处清高手指教! 第一个大问题:服务器软件配置 在SQL中建立VOD数据库 经发现在C:RealCommercedatabaseodbcmssql下有个ppvdemo.sql文件,是SQL表结构,刚好可以用来SQL中建立数据库。 数据库的建立我就不多说了, 配置ODBC数据源 第一步:在系统DSN中选择“添加” 第二步:选择最下面的SQL SERVER 第三步:定义数据库名称 第四步:选择SQL中我们刚刚建立的VOD数据库 第五步:测试连接,成功就对了 helix配置 这里是重点哦,为了操作正确,建议你按我的标准一步一步来,等熟悉了以后你就可以自己改来改去了!!! 第一步:配置加载点。完成后记得“应用” 第二步:配置用户数据库。选择“+”号添加。完成后记得“应用” 第三步:配置用户认证,先按1增加一个域描述,“应用”后再按2方法增加一个用户。名字和密码都为test_sql 第四步:配置商业应用。同样先按1方法增加一个规则名,应用后再按2方法赋予test_sql这个用户名的访问权限。 第五步:设置test_sql用户权限 一切好了以后,为了保证,重起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连接数据库不会出现稳定性的问题。另外加上不停操作数据库,给服务器带来了一些额外开销,特别是如果在线人数多时,可能会遇到认证不能通过的问题。所以只推荐小型客户使用。 |
|