企业动态关于我们联系我们
   建站常识
 域名常识
域名解析问题集锦
域名基础知识概述
域名dns问题集锦
国内域名转入业务问题集锦
 空间常识
虚拟主机产品说明书
FTP上传注意事项
ftp操作常识问题集锦
网站无法上传怎么办?
 邮局常识
什么是电子邮件地址?
企业邮箱与免费邮箱的区别,企业邮箱的优点?
什么是SMTP?
什么是POP3?
 建站常识
企业如何建好网络营销
三种类型企业网站的作用
如何推广B2C独立网店
做网站快速成功的九个步骤
 SEO 知识
什么是SEO?
什么是SPAM?
SEO和SPAM有什么区别?
影响SEO的几点常识

首页技术交流ASP
ASP实现防盗链接(姐妹篇)   2007/10/31   返回前页

ASP实现防盗链的原理:根据浏览者访问时间及下载资源产生临时文件供下载,下载后自动删除临时文件,从而防止盗链。

文件目录结构:建立一个专门存放下载资源的目录,如:DOWN,此目录最好放在网站根目录之外,在引用时用绝对地址来引用,当然也可以放在根目录之内。网站根目录中存放网页文件,并且建立一个TEMP目录,用于存放临时文件。

数据库文件:Soft.mdb其中Dsoft表存放有关下载资源文件的相关信息。所有字段都可以设为文本型,DZYID为资源的ID,DNAME为资源名称,DSTYL为资源类型(如:soft表示为下载资源,view可为在线观看的影音资源),DFILE为文件名称。

网页文件:其中Global.asa必须放在网站根目录下,浏览者启动任何一个页面都会先调用此文件,以产生一个session,其名称为getfile,内容为按时间产生临时文件名,global.asa具体内容如下:

           <Script Language="Vbscript" runat=server>
           Function Zh(s1)'根据日期时间产生随机字符串
           zh=int(now*1000000)
           End Function
           Sub Session_Onstart
           Session.TimeOut=30
           Session("GetFile")=Zh(Now())
           End    Sub
           </Script>

其中:Session.TimeOut=30定义了Session过期时间长度为30分钟。

        Conn.asp
          <%定义文件位置等
          jddz="E:\test\"    '网站根目录在服务器上的上一级目录的绝对地址
          bzwz= " http://soft.test.net " ' 网站域名地址
          db=Server.Mappath("SOFT.MDB") '定义数据库文件的位置
          Connstr = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db & "; Persist Security Info=False;Jet OLEDB:Database Locking Mode=2;Jet OLEDB:Database Password=A"
          Set Conn=Server.CreateObject("ADODB.CONNECTION")
          Conn.Open Connstr
          %>

         Default.asp主文件
          <!-#INCLUDE file="conn.asp"->
          <%action=Request.Querystring("action")
          Select Case action
          Case    "dele"
          Call   Dele
          Case    "down"
          Call    Down
          Case   "view"
          Call   View
          Case   alse
          Call   Defa
          End   Slesct
          Function Zh(s1)'根据日期时间产生随机字符串
          zh= int(now*1000000)
          End   Function
          Sub   Defa()'下载文件显示页
          Reasponse.Write "不要尝试同时从本站下载多个文件<br>"
          Set   Rs=Server.CreateObjcet("Adodb.RecordSet")
          SQL="Select   * From Dsoft"
          Rs.Open SQL,Conn,3,2
          Do   While   Not   Rs.Eof
          Response.Write     "<a href='default.asp?id="&rs("Dzyid") & "&action=down'>"   & rs("Dname") & "</a></br>"
          Rs.Movenext
          Loop
          End Sub
          Sub Down   ( )'下载页,
         
         以下三句为防止从其他地址直接打开本页,如果检测到是盗链就转到错误页


   广告也精彩
版权所有:南京欧万网络服务工作室 www.owon.cn sitemap