电影防盗链及下载

电影防盗链及下载

发布时间: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)
<%
' ###################################
IF Session("Film_Flag") = 5 Then%>
 
 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();
 }
 
 
·播放电影防盗链测试
<%
Else
' ###################################
 Session("Film_Flag") = Session("Film_Flag") + 1
 Response.Write "
·播放电影防盗链测试 [请刷新5次,您已经刷新" & Session("Film_Flag")-1 & "次]"
End IF
%>
 
三、播放页面(OpenWinPlay.asp)
<%
Dim FilmName
IF Session("Film_Flag") = "" Then
' ###################################
 Response.Write ""
Else
 ' 注意,这个算法对中文支持不好,用英文
 FilmName = Encrypt("test.rmvb") '加密文件名
%>
 
 left: 0; top: 0">
  
  
  
  
  
   
   

﹢南京租房网电影院(NJZUFANG.COM)

  
 
  
   
   
    
    
    
    
    
    
    ">
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ">
    
    
    
    
    
    
    
    
   
  
  
   left:10px;">
   观看者:小三   来源IP: 127.0.0.1          
  
  
  
 
    
  
<%End IF%>   四、实现防盗页面(Film.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 "" 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  = ''     str += '';     document.body.insertAdjacentHTML("beforeEnd", str);     document.all.noTipClose.Click();     }     else{     window.opener=null;     window.close();     } } else{ window.close() } }    

你可能感兴趣的:(windows)