防止别人盗链的好方法推荐

2020-03-20 16:00:47来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

我们在浏览器的地址栏中输入URL路径,这可以使文件显示在浏览器中,在很多情况下,我们希望弹出一个下载提示框供用户下载,今天就随着爱站技术频道一起来看看防止别人盗链的好方法推荐吧,希望大家都能收获满满。

两种方法:
1、设置你的服务器的iis,给doc等后缀名做映射
2、在向客户端发送时设置其contenttype

下面详细说明方法2

<%
Response.Buffer?=?true
Response.Clear

dim?url
Dim?fso,fl,flsize
dim?Dname
Dim?objStream,ContentType,flName,isre,url1
'*********************************************调用时传入的下载文件名
Dname=trim(request("n"))
'******************************************************************
If?Dname<>""?Then
'******************************下载文件存放的服务端目录
url=server.MapPath("/")&"\"&Dname
'***************************************************
End?If

Set?fso=Server.CreateObject("Scripting.FileSystemObject")
Set?fl=fso.getfile(url)
flsize=fl.size
flName=fl.name
Set?fl=Nothing
Set?fso=Nothing
%>
<%
Set?objStream?=?Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type?=?1
objStream.LoadFromFile?url

Select?Case?lcase(Right(flName,?4))
Case?".asf"
ContentType?=?"video/x-ms-asf"
Case?".avi"
ContentType?=?"video/avi"
Case?".doc"
ContentType?=?"application/msword"
Case?".zip"
ContentType?=?"application/zip"
Case?".xls"
ContentType?=?"application/vnd.ms-excel"
Case?".gif"
ContentType?=?"image/gif"
Case?".jpg",?"jpeg"
ContentType?=?"image/jpeg"
Case?".wav"
ContentType?=?"audio/wav"
Case?".mp3"
ContentType?=?"audio/mpeg3"
Case?".mpg",?"mpeg"
ContentType?=?"video/mpeg"
Case?".rtf"
ContentType?=?"application/rtf"
Case?".htm",?"html"
ContentType?=?"text/html"
Case?".txt"
ContentType?=?"text/plain"
Case?Else
ContentType?=?"application/octet-stream"
End?Select

Response.AddHeader?"Content-Disposition",?"attachment;?filename="?&?flName
Response.AddHeader?"Content-Length",?flsize

Response.Charset?=?"UTF-8"
Response.ContentType?=?ContentType

Response.BinaryWrite?objStream.Read
Response.Flush
response.Clear()
objStream.Close
Set?objStream?=?Nothing

%>

将下面的东西存成download.asp然后你就可以用<a?herf="http://xxx.xxx.com/download.asp?n=fi?...?t;download!</a>来下载同一目录下的file.doc了!

但是这里有个问题就是直接将file.doc路径写在url里是不安全的,所以解决方案应该是将file.doc的路径存到数据库里,同过查找数据库后得到路径

在这个程序的最前面如果加上一个判断:

if?instr(Request.ServerVariables("HTTP_REFERER"),"http://你的域名")=0?then
Response.End
end?if

就能够很好的防止别人的盗链了

防止别人盗链的好方法推荐如上文所述,大家是不是已经熟记于心了?爱站技术频道就为各位朋友们整理到这里了,希望大家可以一直支持js.aizhan.com哦。


原文链接:https://js.aizhan.com/develop/asp/12223.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:图片的入库与读取的方法

下一篇:ASP中DateAdd函数中日期相加或相减使用方法