asp下载防盗链代码
2018-09-05 23:52
  asp下载防盗链代码
第一种: 
终于对下载系统做了个防盗链措施,在下载的页面头部做了如下代码,相关代码如下:
复制代码 代码如下:<% 
From_url=Cstr(Request.ServerVariables(HTTP_REFERER)) 
Serv_url=Cstr(Request.ServerVariables(SERVER_NAME)) 
response.write您下载的软件来自IT学习网,请直接从主页下载,谢谢<br>防止盗链 
response.write<ahref=学习网防止盗链 
response.end 
endif 
%> 
第二种:
复制代码 代码如下:<% 
定义函数,用ADODB.Stream读取二进制数据 
FunctionReadBinaryFile(FileName) 
ConstadTypeBinary=1 
DimBinaryStream 
SetBinaryStream=CreateObject(ADODB.Stream) 
BinaryStream.Type=adTypeBinary 
BinaryStream.Open 
BinaryStream.LoadFromFileFileName 
ReadBinaryFile=BinaryStream.Read 
EndFunction 
Response.AddHeaderContent-Disposition,attachment;filename=2.gif文件名 
response.BinarywriteReadBinaryFile(server.mappath(2.gif))就是你读取存在本地的文件,防止被 
别人知道真实路径盗连的。 
%> 
(1)下面的示例将ContentType属性设置为其他的常见值。 
text/HTML这个就不说了 
image/GIFgif图片 
image/JPEGjpg图片 
application/x-cdfcdf文档 
application/wma就是西瓜哪个音乐类型了 
具体可以参照Web浏览器文档或当前的HTTP规格说明 
这样再利用asp的储存session,cookies,以及读取HTTP头等特殊功能就可以完全真正的实现防盗连,这里 
没有设置缓存,如果访问量巨大,我想设置下就会更好吧。 
第三种: 
最简单的用ActiveServerPages防站外提交表单、跨站提交表单、防盗链…… 
方法:Request.SeverVariables(HTTP_REFERER) 
解释:当某人通过链接到达当前页,HTTP_REFERER就保存了这个用户的来源(来路) 
举个例子,这个例子很简单,只是抛砖引玉而已,大家可以增加更多的功能。 
如下,只有首先从“”登陆才能看到文件内容。 
源码:index.asp
复制代码 代码如下:<html> 
<head><title>最简单的用asp防盗链</title></head> 
<body> 
<% 
Option.Explicit 
Response.Buffer=Ture 
%> 
<% 
CheckUrl(
%> 
<% 
FunctionCheckUrl(url) 
DimWhere:Where=Request.SeverVariables(HTTP_REFERER) 
IfWhere=urlThen 
Callmain() 
Else 
Response.write(很抱歉,您必须从&url&访问才能进来!) 
Endif 
EndFunction 
%> 
<% 
Submain() 
Response.write(这儿是你要显示的网页内容) 
Endsub 
%> 
</body> 
</html> 
该方法对防止盗链文章、站外提交表单、跨站提交表单还比较有效,对于软件盗链比如.rar.zip.exe等倒没什么作用。 
不知各位读者是否有好的主意,呵呵。 
还有一种方法就是用判断服务器及上一页的地址来完成。 
复制代码 代码如下:<% 
dimfrom,local 
from=request.ServerVariables(HTTP_REFERER) 
local=request.ServerVariables(SERVER_NAME) 
Ifmid(from,8,local)<>Len(local)Then 
response.write不要从外部提交数据 
else 
callmain() 
endif 
submain() 
你的主体内容 
endsub 
%>
上一篇:提高ASP效率的五大技巧
下一篇:E-mail表单递交