if Request.Cookies(CookieName)="EliopBlogCookie" then response.redirect LoginURL end if
Dim Stream Dim Contents Dim FileName Dim TrueFileName Dim FileExt
Const adTypeBinary = 1 FileName = Request.QueryString("FileName") if FileName = "" Then Response.Write "无效文件名!" Response.End End if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1) Select Case UCase(FileExt) Case "ASP", "ASA", "ASPX", "ASAX", "MDB" Response.Write "非法操作!" Response.End Case "JPG","GIF","GPEG","PNG","BMP" Response.ContentType = "image/"&lcase(fileExt) Case "CSS","HTML","HTM","JS" Response.ContentType = "text/"&lcase(fileExt) Case Else Response.ContentType = "application/ms-download" End Select Response.AddHeader "X-Powered-By","ASP.NET" Response.AddHeader "Accept-Ranges","bytes" Response.AddHeader "Cache-Control","no-cache" Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream") Stream.Type = adTypeBinary Stream.Open
if lcase(right(FileName,3))= FileName1 then TrueFileName = FileList1 &"/"& FileName end if if lcase(right(FileName,3))=FileName2 then TrueFileName = FileList2 &"/"& FileName end if if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" or lcase(right(FileName,3))="jpge" or lcase(right(FileName,3))="bmp" then TrueFileName = ImagesList &"/"& FileName end if
TrueFileName="downloads/"&FileName
Stream.LoadFromFile Server.MapPath(TrueFileName) While Not Stream.EOS Response.BinaryWrite Stream.Read(1024 * 64) Wend Stream.Close Set Stream = Nothing
Function GetFileName(longname) while instr(longname,"/") longname = right(longname,len(longname)-1) wend GetFileName = longname End Function %> 我的ASP防盗链程序,怎么设置防盗链的白名单? (只允许eliop.com.cn和www.eliop.com.cn访问
domain=request.servervariables("server_name") if domain="eliop.com.cn" or domain="www.eliop.com.cn" then response.write "谢谢" else response.write "对不起!您没有权限" end if 对了~www.eliop.com.cn和eliop.com.cn是你自己的域名还是其他网站的 request.servervariables("HTTP_REFFER")可以取得链接到本页的地址
我下载文件的代码~自己做的防盗链,必须点下载连接才能下~其他任何方式都不可以~在点链接的同时生成一个session <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!--#include file="mdb.asp"--> <!--#include file="inc/WFile.asp"--> <% fileid=request.querystring("id") '防盗链 if session(fileid) <>"canload" then response.write "请勿盗链本站内容!!!! <br>"&vbcrlf response.write "请从 <a href=""http://www.zhi2xun.cn/files/"">列表首页 </a>下载本文件; <br>"&vbcrlf response.write "若找不到文件,请使用搜索功能; <br>"&vbcrlf response.write "非常感谢您的访问。"&vbcrlf response.end end if
Dim Stream Dim Contents Dim FileName Dim FileExt Const adTypeBinary = 1
sql="select Title,FileUrl from Files WHERE id="&fileid set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,1 FileName=rs(1) fileexc=mid(FileName,instrrev(FileName,".")) name=rs(0)&fileexc tit=rs("Title") rs.close set rs=nothing
' 下载这个文件 Response.Clear Response.ContentType = "application/octet-stream" Response.AddHeader "content-disposition", "attachment; filename="&name Set Stream = server.CreateObject("ADODB.Stream") Stream.Type = adTypeBinary Stream.Open Stream.LoadFromFile Server.MapPath(FileName) While Not Stream.EOS Response.BinaryWrite Stream.Read(1024 * 64) Wend Stream.Close Set Stream = Nothing '统计 arii=request.cookies("user")(fileid) m_msg="来自 <font color=red>"&left(request.servervariables("REMOTE_ADDR"),8)&"... </font>的访客在 <font color=red>"&now()&" </font>下载了 <font color=red>"&tit&" </font>" application.lock application("msg")=m_msg application.unlock m_msg="→ 来自 <font color=red>"&request.servervariables("REMOTE_ADDR")&" </font>的访客在 <font color=red>"&now()&" </font>下载了 <font color=red>"&tit&" </font> <br />" call writeF(server.mappath("logs.asp"),m_msg) if arii <>"yes" then response.cookies("user")(fileid)="yes" response.Cookies("user").Expires=DateAdd("d", 1, now()) sql="update Files Set Download=Download+1 where id="&fileid conn.execute sql end if conn.close set conn=nothing Response.Flush Response.End %>