WEB开发网
开发学院WEB开发ASP asp下载防盗链代码 阅读

asp下载防盗链代码

 2009-04-22 10:39:05 来源:WEB开发网   
核心提示:asp下载防盗链代码 第一种: 终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,asp下载防盗链代码,相关代码如下: 程序代码<% From_url = Cstr(Request.ServerVariables("HTTP_REFERER")) Serv_url = Cstr(

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 "您下载的软件来自kenqiao,请直接从主页下载,谢谢<br>" ’防止盗链
response.write "<a href=http://www.cncms.com>knowsky</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.cncms.com”登陆才能看到文件内容。

源码:index.asp

 程序代码

<html>
<head><title>最简单的用asp防盗链</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>

<%
CheckUrl("http://www.kenqiao.com/index.asp")
%>

<%
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
%>

Tags:asp 下载 防盗

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接