asp下载防盗链代码

王朝学院·作者佚名  2009-04-23
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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.knowsky.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.knowsky.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

%>

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航