📄 film_down.asp
字号:
<!--#include file="chklogin.asp"-->
<%
call myobj.chkrq()
if request.cookies("film_down_page")<>"" then '检测当页是否已被加载过
response.cookies("film_down_page")=""
response.write"<script language=javascript>alert('请不要重复刷新本页,如果您是第一次访问本页时就弹出此对话框的话,则请在影片介绍页面刷新一下即可开始下载');window.close();</Script>"
response.end
end if
set rs=server.createobject("adodb.recordset")
rs.open "select * from setup where id=1",conn,1,1
all_max_online=rs("max_online")
rs.close
set rs=server.createobject("adodb.recordset")
rs.open "select * from users",conn,1,1
all_now_online=rs.recordcount
rs.close
if cint(all_now_online)>=cint(all_max_online) then
response.write"<script language=javascript>alert('服务器最多允许的并发数达到上限,请稍后再下载');window.close();</Script>"
response.end
end if
if request.QueryString("id")="" then
response.write"<script language=javascript>alert('影片不存在');window.close();</Script>"
response.end
end if
if myobj.ChkNum(request.QueryString("id"))=false then
response.write"<script language=javascript>alert('影片不存在');window.close();</Script>"
response.end
end if
if request.QueryString("fileid")="" then
response.write"<script language=javascript>alert('影片文件不存在');window.close();</Script>"
response.end
end if
if myobj.ChkNum(request.QueryString("fileid"))=false then
response.write"<script language=javascript>alert('影片文件不存在');window.close();</Script>"
response.end
end if
set rs=server.createobject("adodb.recordset")
rs.open "select * from films where id="&request.querystring("id")&"",conn,1,1
if rs.eof then
call nr()
response.write"<script language=javascript>alert('影片不存在');window.close();</Script>"
response.end
else
film_name=rs("film_name")
pathid=rs("pathid")
down_level=rs("down_level")
film_money=rs("film_money")
end if
rs.close
'############以上代码判断参数值####################
set rs=server.createobject("adodb.recordset") '判断影片路径是否存在
rs.open "select * from film_path where id="&pathid&"",conn,1,1
if rs.eof then
response.write"<script language=javascript>alert('影片路径不存在');window.close();</Script>"
response.end
else
path_left="rtsp://<#userid#>:<#pwd#>@"
if left(rs("caption"),26)<>path_left then
response.write"<script language=javascript>alert('影片路径变量不存在');window.close();</Script>"
response.end
else
film_path=rs("caption") '取得路径地址
end if
end if
rs.close
if request.cookies("userid")="" then '判断用户是否已登陆
response.write"<script language=javascript>alert('请先登陆后再下载影片');window.close();</Script>"
response.end
end if
if request.cookies("u_type")<>"" then
if request.cookies("u_type")=3 then
response.write"<script language=javascript>alert('网吧包月用户不能下载影片');window.close();</Script>"
response.end
end if
end if
set rs=server.createobject("adodb.recordset")
rs.open "select * from member where userid='"&request.cookies("userid")&"'",conn,1,1
point=rs("point") '取得影片点播所需要的影币数量
member_id=rs("id")
if rs("u_type")=1 then
if cint(point)<cint(film_money) then '如果影币不够
call nr()
response.write"<script language=javascript>alert('对不起,下载本影片需要"&film_money&"个影币,您的账号影币剩余"&point&"个,请充值后再下载影片');window.close();</Script>"
response.end
end if
else
end_time=rs("end_time")
if cdate(end_time)<=now() then '如果账号到期
call nr()
response.write"<script language=javascript>alert('对不起,您的账号已到期,请充值后再下载影片');window.close();</Script>"
response.end
end if
end if
max_online=rs("max_online") '取得该账号最多允许同时在线的人数
user_vip=rs("is_vip") '取得账号VIP属性值
rs.close
set rs=server.createobject("adodb.recordset")
rs.open "select * from users where member_id='"&member_id&"'",conn,1,1
now_online=rs.recordcount
rs.close
if cint(now_online)>=cint(max_online) then
response.write"<script language=javascript>alert('您的账号只允许"&max_online&"台电脑链接到本站服务器,当前您的账号有"&now_online&"台电脑已链接');window.close();</Script>"
response.end
end if
if down_level=0 then '如果影片不允许下载
response.write"<script language=javascript>alert('对不起,本影片不允许下载');window.close();</Script>"
response.end
end if
if down_level=2 then '如果影片只允许VIP用户下载
if user_vip<>true then '如果当前用户不是VIP用户
response.write"<script language=javascript>alert('对不起,本影片只允许VIP用户下载');window.close();</Script>"
response.end
end if
end if
set rs=server.createobject("adodb.recordset")
rs.open "select * from film_files where filmid="&request.querystring("id")&" and id="&request.querystring("fileid")&"",conn,1,1
if rs.eof then '如果影片文件不存在
call nr()
response.write"<script language=javascript>alert('该影片文件并不存在');window.close();</Script>"
response.end
else
filename=rs("filename") '取得影片文件名
end if
rs.close
set rs=server.createobject("adodb.recordset") '用户付费
rs.open "select * from member where userid='"&request.cookies("userid")&"'",conn,1,3
if request.cookies("u_type")=1 then '如果当前用户是计点用户
rs("point")=cint(rs("point"))-cint(film_money) '扣取当前用户的可用影币数量
end if
rs.update
rs.close
userid=myobj.MakeRnd(12) '生成随机账号
password=myobj.MakeRnd(12) '生成随机密码
set rs=server.createobject("adodb.recordset") '向helix服务写入链接账号
rs.open "select * from users where (id is null)",conn,1,3
rs.addnew
rs("userid")=userid
rs("password")=password
rs("uuid")=""
rs("uuid_writeable")=1
rs("member_id")=member_id
rs("film_name")=film_name
rs("link_type")=2
rs.update
rs.close
set rs=server.createobject("adodb.recordset") '向helix服务写入链接权限
rs.open "select * from permissions where (id is null)",conn,1,3
rs.addnew
rs("userid")=userid
rs("url")="root/"
rs("url_type")=1
rs("permission_type")=0
rs("expires")=""
rs("debitted_time")=0
rs("member_id")=member_id
rs("link_type")=2
rs.update
set rs=nothing
conn.close
set conn=nothing
original_url=film_path&filename '组成原始完整路径
down_url=replace(replace(original_url,"<#userid#>",userid),"<#pwd#>",password) '通过替换标示字符组成下载路径
response.cookies("film_down_page")=1 '写入防下载的cookies标识值
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>影片下载</title>
<style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
.style1 {color: #FF0000}
-->
</style></head>
<body>
<div align="center">
<%if request.cookies("u_type")=1 then%>
<p>下载本影片需要:<span class="style1"><%=film_money%></span>个影币,在您的账号中扣除后还剩余:<span class="style1"><%=cint(point)-cint(film_money)%></span>个影币</p>
<%end if%>
<p>请确认您的电脑上已经安装了支持rtsp协议的流媒体下载软件(推荐使用影音传送带)</p>
<p class="style1">该下载链接会在1分钟之后失效,请即时下载。</p>
<p>本次操作会占用您账号的<span class="style1">1</span>个进程,您的账号总共可以使用<span class="style1"><%=max_online%></span>个进程<br>
如果您在本页打开<span class="style1">1</span>分钟之内不下载影片的话,则该进程会在<span class="style1">1分钟后自动释放</span>,或者在您下载完毕或终止后释放</p>
<p><a href="<%=down_url%>">点击下载本影片</a></p>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -