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连接数据库不会出现稳定性的问题。另外加上不停操作数据库,给服务器带来了一些额外开销,特别是如果在线人数多时,可能会遇到认证不能通过的问题。所以只推荐小型客户使用。