Verwenden Sie ASP, um Dateipfade auszublenden, um die Anti-Diebstahl-Kette zu realisieren
Wenn wir den tatsächlichen Pfad einer statischen Datei kennen, z. Wenn die Website 51Windows.pdf -Download enthält, wie kann der Downloader nicht seinen tatsächlichen Pfad erhalten! In diesem Artikel wird vorgestellt, wie ASP verwendet wird, um den tatsächlichen Download -Pfad einer Datei zu verbergen.
Beim Verwalten von Website -Dateien können wir Dateien mit derselben Erweiterung im selben Verzeichnis platzieren und einen speziellen Namen angeben. Der Online -Pfad ist http://www.xx.com/down.asp. Wir können http://www.xx.com/down.asp?filename=51Windows.pdf verwenden, um diese Datei herunterzuladen, und der Downloader kann den tatsächlichen Download -Pfad dieser Datei nicht sehen! In down.asp können wir auch festlegen, ob die heruntergeladene Datei angemeldet werden muss, und festzustellen, ob es sich bei der heruntergeladenen Quellseite um eine externe Website handelt, um zu verhindern, dass die Datei gestohlen wird.
Beispielcode:
<%
From_url = cstr (request.servervariables ("http_referer"))
Serv_url = cstr (request.servervariables ("server_name"))
IFMID (von_url, 8, len (Serv_url)) <> Serv_urltthen
Antwort.Write "Illegaler Link!"
Antwort.end
Endif
IFREQUEST.COOKIES ("Logined") = "" Dann
response.redirect "/login.asp" 'muss sich anmelden!
Endif
FunctionGetFileName (longname) '/order1/order2/file.asp => file.asp
whilinstr (longname, "/")
longname = rechts (longname, len (longname) -1)
Wend
GetFileName = Longname
Endfunktion
Dimstream
Dimolierungen
Dimfilename
DimtruefileName
DimFileext
Constadypebinary = 1
Dateiname = Request.queryString ("Dateiname")
IffileName = "" Dann
Antwort.Write "Ungültiger Dateiname!"
Antwort.end
Endif
Fileext = Mid (Dateiname, Instrrev (Dateiname, ")+1)
SelectCaseUcase (Fileext)
Fall "ASP", "Asa", "Aspx", "Asax", "Mdb"
Antwort. Schreiben Sie "Illegale Operation!"
Antwort.end
Endauswahl
Antwort.Clear
IFLCase (rechts (Dateiname, 3)) = "gif" orlcase (rechts (Dateiname, 3)) = "JPG" OrlCase (rechts (rechts (Dateiname, 3)) = "png" dann
Antwort.ContentType = "Image/*" 'Kein Dialogfeld Download wird für Bilddateien angezeigt
anders
Antwort.ContentType = "Anwendung/MS-Download"
Endif
Response.addHeader "Inhaltsdisposition", "Anhang; Dateiname =" & getFileName (Request.queryString ("Dateiname"))
SetStream = server.createObject ("adodb.stream")
Stream.type = adypebinary
Stream.open
IFLCase (rechts (Dateiname, 3)) = "PDF", dann setzen Sie das PDF -Typ -Dateiverzeichnis
Truefilename = "/the_pdf_file_s/" & filename