企业动态关于我们联系我们
   建站常识
 域名常识
域名解析问题集锦
域名基础知识概述
域名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   ( )'下载页,
         
         以下三句为防止从其他地址直接打开本页,如果检测到是盗链就转到错误页

本站搜索关键词:南京网站建设、南京建站、南京SEO推广、南京网络公司
   广告也精彩
版权所有:南京欧万网络服务工作室 www.owon.cn sitemap