首页 > 网站 > asp下载防盗链代码

asp下载防盗链代码

2007年7月1日 发表评论 阅读评论

第一种:
终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下:
<% 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学习网,请直接从主页下载,谢谢
” ’防止盗链
response.write “IT学习网http://www.ITstudy.cn” ’防止盗链
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


最简单的用asp防盗链

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



该方法对防止盗链文章、站外提交表单、跨站提交表单还比较有效,对于软件盗链比如.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
%>

分类: 网站 标签: 2,074 次阅读
原文链接:http://www.wenhq.com/article/view_79.html
欢迎转载,请注明出处:亲亲宝宝
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.