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

首页技术交流ASP
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
%> 

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