欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp下载防盗链代码

程序员文章站 2022-06-11 13:19:21
asp下载防盗链代码第一种:  终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下:  复制代码 代码如下:<%...
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  
%>