| 
          
            |  | asp下载防盗链代码  
              2007/10/31
                返回前页 |  |  
            | 
                
                  | 
      
        | asp下载防盗链代码 
 第一种:
 终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下:
 <%
 From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
 Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
 if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.ITstudy.cn" then
 response.write "您下载的软件来自IT学习网,请直接从主页下载,谢谢<br>" ’防止盗链
 response.write "<a href=http://www.ITstudy.cn>IT学习网http://www.ITstudy.cn</a>" ’防止盗链
 response.end
 end if
 %>
 
 第二种:
 <%
 ’定义函数,用ADODB.Stream读取二进制数据
 Function ReadBinaryFile(FileName)
 Const adTypeBinary = 1
 Dim BinaryStream
 Set BinaryStream = CreateObject("ADODB.Stream")
 BinaryStream.Type = adTypeBinary
 BinaryStream.Open
 BinaryStream.LoadFromFile FileName
 ReadBinaryFile = BinaryStream.Read
 End Function
 
 Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"’文件名
 Response.ContentType = "image/GIF" ’设置(1)
 response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))’就是你读取存在本地的文件,防止被
 别人知道真实路径盗连的。
 
 %>
 
 
 (1)下面的示例将 ContentType 属性设置为其他的常见值。
 text/HTML 这个就不说了
 image/GIF gif图片
 image/JPEG jpg图片
 application/x-cdf cdf文档
 application/wma 就是西瓜哪个音乐类型了
 具体可以参照 Web 浏览器文档或当前的 HTTP 规格说明
 
 这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里
 没有设置缓存,如果访问量巨大,我想设置下就会更好吧。
 
 
 第三种:
 最简单的用Active Server Pages防站外提交表单、跨站提交表单、防盗链……
 
 方法:Request.SeverVariables("HTTP_REFERER")
 解释:当某人通过链接到达当前页,HTTP_REFERER 就保存了这个用户的来源(来路)
 
 举个例子,这个例子很简单,只是抛砖引玉而已,大家可以增加更多的功能。
 如下,只有首先从“ http://www.ITstudy.cn”登陆才能看到文件内容。
 
 源码:index.asp
 
 <html>
 <head><title>最简单的用asp防盗链</title></head>
 <body>
 <%
 Option.Explicit
 Response.Buffer=Ture
 %>
 
 <%
 CheckUrl("http://ITstudy.cn/index.jsp")
 %>
 
 <%
 Function CheckUrl(url)
 Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
 If Where=url Then
 Call main()
 Else
 Response.write("很抱歉,您必须从"&url&"访问才能进来!")
 End if
 End Function
 %>
 
 <%
 Sub main()
 Response.write("这儿是你要显示的网页内容")
 End sub
 %>
 </body>
 </html>
 
 该方法对防止盗链文章、站外提交表单、跨站提交表单还比较有效,对于软件盗链比如.rar.zip.exe等倒没什么作用。
 不知各位读者是否有好的主意,呵呵。
 
 
 
 
 还有一种方法就是用判断服务器及上一页的地址来完成。
 <%
 dim from, local
 from = request.ServerVariables("HTTP_REFERER")
 local = request.ServerVariables("SERVER_NAME")
 If mid(from, 8, local)<>Len(local) Then
 response.write "不要从外部提交数据"
 else
 call main()
 end if
 sub main()
 ’你的主体内容
 end sub
 %>
 
 |  |  
                
                  | 本站搜索关键词:南京网站建设、南京建站、南京SEO推广、南京网络公司 |  |  | 
          
            |  | 广告也精彩 |  |  |