|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。我们在办理网站文件时,能够把扩大名一样的文件放在统一个目次下,起一个对照出格名字,比方放pdf文件目次为the_pdf_file_s,把上面代码另存为down.asp,他的网上路径为http://www.xx.com/down.asp,我们就能够用http://www.xx.com/down.asp?FileName=51windows.pdf来下载这个文件了,并且下载者没法看到这个文件实践下载路径的!在down.asp中我们还能够设置下载文件是不是必要上岸,判别下载的来历页是不是为内部网站,从而能够做到避免文件被盗链。
示例代码:
以下为援用的内容:
<%
From_url=Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url=Cstr(Request.ServerVariables("SERVER_NAME"))
ifmid(From_url,8,len(Serv_url))Serv_urlthen
response.write"不法链接!"避免盗链
response.end
endif
ifRequest.Cookies("Logined")=""then
response.redirect"/login.asp"必要上岸!
endif
FunctionGetFileName(longname)/folder1/folder2/file.asp=>file.asp
whileinstr(longname,"/")
longname=right(longname,len(longname)-1)
wend
GetFileName=longname
EndFunction
DimStream
DimContents
DimFileName
DimTrueFileName
DimFileExt
ConstadTypeBinary=1
FileName=Request.QueryString("FileName")
ifFileName=""Then
Response.Write"有效文件名!"
Response.End
Endif
FileExt=Mid(FileName,InStrRev(FileName,".")+1)
SelectCaseUCase(FileExt)
Case"ASP","ASA","ASPX","ASAX","MDB"
Response.Write"不法操纵!"
Response.End
EndSelect
Response.Clear
iflcase(right(FileName,3))="gif"orlcase(right(FileName,3))="jpg"orlcase(right(FileName,3))="png"then
Response.ContentType="image/*"对图象文件不呈现下载对话框
else
Response.ContentType="application/ms-download"
endif
Response.AddHeader"content-disposition","attachment;filename="&GetFileName(Request.QueryString("FileName"))
SetStream=server.CreateObject("ADODB.Stream")
Stream.Type=adTypeBinary
Stream.Open
iflcase(right(FileName,3))="pdf"then设置pdf范例文件目次
TrueFileName="/the_pdf_file_s/"&FileName
endif
iflcase(right(FileName,3))="doc"then设置DOC范例文件目次
TrueFileName="/my_D_O_C_file/"&FileName
endif
iflcase(right(FileName,3))="gif"orlcase(right(FileName,3))="jpg"orlcase(right(FileName,3))="png"then
TrueFileName="/all_images_/"&FileName设置图象文件目次
endif
Stream.LoadFromFileServer.MapPath(TrueFileName)
WhileNotStream.EOS
Response.BinaryWriteStream.Read(1024*64)
Wend
Stream.Close
SetStream=Nothing
Response.Flush
Response.End
%>
当地图片,音乐等ASP防盗链代码(asp)
以下为援用的内容:
<%
界说函数,用ADODB.Stream读取二进制数据
FunctionReadBinaryFile(FileName)
ConstadTypeBinary=1
DimBinaryStream
SetBinaryStream=CreateObject("ADODB.Stream")
BinaryStream.Type=adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFileFileName
ReadBinaryFile=BinaryStream.Read
EndFunction
Response.AddHeader"Content-Disposition","attachment;filename=2.gif"文件名
Response.ContentType="image/GIF"’设置(1)
response.BinarywriteReadBinaryFile(server.mappath("2.gif"))就是你读取存在当地的文件,避免被
他人晓得实在路径盗连的。
%>优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 |
|