电影防盗链及下载

电影防盗链及下载

发布时间:2005-12-23 9:59:06  浏览次数:1574

打印 关闭

 
实现电影防盗链功能
注意:以下仅实现功能,并未整合到网站中
 
一、加密解密及相关函数(FilmFun.asp)
<%
' ================= 函数部分 ===================
 
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
 while instr(longname,"/")
  longname = right(longname,len(longname)-1)
 wend
 GetFileName = longname
End Function
' ================= 文件名加密 ===================
Function Encrypt(Ecode)
 Dim texts
 Dim i
 For i=1 To Len(Ecode)
  texts = texts & Chr(Asc(Mid(Ecode,i,2))+i)
 Next
 Encrypt = texts
End Function
' ================= 文件名解密 ===================
Function UnEncrypt(Dcode) 
 Dim texts
 Dim i
 For i=1 To Len(Dcode)
  texts = texts & Chr(Asc(Mid(Dcode,i,2))-i)
 Next
 UnEncrypt = texts
End Function
%>
 
二、入口文件(Play.asp)
<link href="Style.css" rel="stylesheet" type="text/css">
<!--#include file="FilmFun.asp" -->
<script src="close.js" type="text/javascript"></Script>
<%
' ###################################
IF Session("Film_Flag") = 5 Then%>
 <SCRIPT LANGUAGE="javascript">
 function go()
 {
 window.open('OpenWinPlay.asp?id=film','newwindow','height=405,width=450,top=120,left=200,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no');
 CloseWin();
 }
 </script>
 <br><div align=center><a href="#" onclick="go();">·播放电影防盗链测试</a></div>
<%
Else
' ###################################
 Session("Film_Flag") = Session("Film_Flag") + 1
 Response.Write "<br><div align=center>·播放电影防盗链测试 [请刷新5次,您已经刷新</font>" & Session("Film_Flag")-1 & "次</font>]</div>"
End IF
%>
 
三、播放页面(OpenWinPlay.asp)
<link href="Style.css" rel="stylesheet" type="text/css">
<script src="CloseWin.js" type="text/javascript"></Script>
<body topmargin="0" leftmargin="0">
<!--#include file="FilmFun.asp" -->
<%
Dim FilmName
IF Session("Film_Flag") = "" Then
' ###################################
 Response.Write "<script>CloseWin();</script>"
Else
 ' 注意,这个算法对中文支持不好,用英文
 FilmName = Encrypt("test.rmvb") '加密文件名
%>
 <script>setTimeout("document.all.view.style.visibility = 'visible'","1");</script>
 <div id=view  style="visibility: hidden;position:absolute; width:0px; height:0px; z-index:0;; left: 0; top: 0">
  <table width="450" border="0" cellspacing="0" cellpadding="0" height="300" bgcolor="#FFFFFF">
  <tr><td valign="top">
  <!-- 实体内容开始 -->
  <table border="0" width="450" id="table1" height="295" cellpadding="0" cellspacing="0">
  <tr>
   <td height="23" width="450" bordercolor="#C0C0C0" bgcolor="#9AADCD">
   <p><b><font face="宋体" color="#FFFFFF">﹢南京租房网电影院(NJZUFANG.COM)</font></b></td>
  </tr>
 
  <tr align="center">
   <td valign="top" align="center">
   <object id="player" name="player" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="430" height="295">
    <param name="_ExtentX" value="18415">
    <param name="_ExtentY" value="9102">
    <param name="AUTOSTART" value="-1">
    <param name="SHUFFLE" value="0">
    <param name="PREFETCH" value="0">
    <param name="NOLABELS" value="-1">
    <param name="SRC" value="Film.asp?id=<%=FilmName%>">
    <param name="CONTROLS" value="Imagewindow">
    <param name="CONSOLE" value="clip1">
    <param name="LOOP" value="0">
    <param name="NUMLOOP" value="0">
    <param name="CENTER" value="0">
    <param name="MAINTAINASPECT" value="0">
    <param name="BACKGROUNDCOLOR" value="#000000">
    </object><br>
    <object ID="RP2" CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" WIDTH="430" HEIGHT="57">
    <param name="_ExtentX" value="18415">
    <param name="_ExtentY" value="1005">
    <param name="AUTOSTART" value="-1">
    <param name="SHUFFLE" value="0">
    <param name="PREFETCH" value="0">
    <param name="NOLABELS" value="-1">
    <param name="SRC" value="Film.asp?id=<%=FilmName%>">
    <PARAM NAME="CONTROLS" VALUE="ControlPanel,StatusBar">
    <param name="CONSOLE" value="clip1">
    <param name="LOOP" value="0">
    <param name="NUMLOOP" value="0">
    <param name="CENTER" value="0">
    <param name="MAINTAINASPECT" value="0">
    <param name="BACKGROUNDCOLOR" value="#000000">
    </object>
   </td>
  </tr>
  <tr>
   <td valign="middle" height="28" width="450" style="padding-left:10px;">
   观看者:小三   来源IP: 127.0.0.1          <input type=button value=" 关 闭 " onclick="CloseWin()"></td>
  </tr>
  </table>
  <!-- 实体内容结束 -->
 </td>
    </tr>
  </table>
</div>
<%End IF%>
 
四、实现防盗页面(Film.asp)
<script src="CloseWin.js" type="text/javascript"></Script>
<!--#include file="FilmFun.asp" -->
<%
' ########## 电影文件目录 ###############
Const FileDriver = "/#@$%^FGFSD646464_RMVB@#$%^&$%@$@$@DFgsdfsdf56gr/"
IF Session("Film_Flag") <> "" Then
 Dim Stream,Contents,FileName,TrueFileName,FileExt
 Const adTypeBinary = 1
 FileName = UnEncrypt(Request.QueryString("id"))
 IF FileName = "" Then
     Response.Write "无效文件名!"
     Response.End
 End IF
 
 FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
 Select Case UCase(FileExt)
  Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
  Response.Write "非法操作!"
  Response.End
 End Select
 Response.Clear
 Response.ContentType = "audio/x-pn-realaudio"
 Response.AddHeader "Content-Disposition", "attachment; Filename=" & FileName
 Set Stream = server.CreateObject("ADODB.Stream")
 Stream.Type = adTypeBinary
 Stream.Open
 IF Lcase(Right(FileName,4)) = "rmvb" Then TrueFileName = FileDriver & FileName  '设置文件类型文件目录
 Stream.LoadFromFile Server.MapPath(TrueFileName)
 While Not Stream.EOS
  Response.BinaryWrite Stream.Read(1024 * 64)
  Response.Flush '根据上面速率循环下载
 Wend
 Stream.Close
 Set Stream = Nothing
 Response.End
Else
 'Response.Write "禁止盗链!"
Response.Write "<script>CloseWin();</script>"
End IF
%>
 
五、关闭窗口Js文件(CloseWin.js)
function CloseWin()
{
//用Javascript实现完美关闭窗口
var ua=navigator.userAgent
var ie=navigator.appName=="Microsoft Internet Explorer"?true:false
if(ie){
    var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))))
 if(IEversion< 5.5){
    var str  = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
    str += '<param name="Command" value="Close"></object>';
    document.body.insertAdjacentHTML("beforeEnd", str);
    document.all.noTipClose.Click();
    }
    else{
    window.opener=null;
    window.close();
    }
}
else{
window.close()
}
}
 
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值