Gunakan ASP untuk menyembunyikan jalur file untuk mewujudkan rantai anti-pencurian
Jika kita mengetahui jalur sebenarnya dari file statis seperti: http://www.xx.com/download/51windows.pdf, jika server tidak memiliki batasan khusus, kita dapat mengunduhnya dengan mudah! Ketika situs web menyediakan unduhan 51windows.pdf, bagaimana pengunduh tidak bisa mendapatkan jalurnya yang sebenarnya! Artikel ini akan memperkenalkan cara menggunakan ASP untuk menyembunyikan jalur unduhan yang sebenarnya dari sebuah file.
Saat mengelola file situs web, kami dapat menempatkan file dengan ekstensi yang sama di direktori yang sama dan memberikan nama khusus, misalnya, letakkan direktori file PDF sebagai the_pdf_file_s, dan simpan kode berikut sebagai down.asp. Jalur online -nya adalah http://www.xx.com/down.asp. Kita dapat menggunakan http://www.xx.com/down.asp?filename=51windows.pdf untuk mengunduh file ini, dan pengunduh tidak dapat melihat jalur unduhan yang sebenarnya dari file ini! Di down.asp, kami juga dapat mengatur apakah file yang diunduh perlu masuk dan menentukan apakah halaman sumber yang diunduh adalah situs web eksternal, sehingga dapat mencegah file tersebut dicuri.
Kode contoh:
<%
From_url = cstr (request.serverVariables ("http_referer"))
Serv_url = cstr (request.serverVariable ("server_name"))
ifmid (from_url, 8, len (serv_url)) <> serv_urltthen
Response.write "Illegal Link!" 'Cegah pencurian tautan
respons.end
endif
ifrequest.cookies ("logined") = "" Lalu
response.redirect "/login.asp" 'perlu masuk!
endif
FunctionGetFileName (longName) '/folder1/folder2/file.asp => file.asp
whileinstr (longname, "/")
longname = kanan (longname, len (longname) -1)
pergi ke
GetFileName = LongName
Fungsi endfungsi
Dimstream
DiMccontents
Dimfilename
Dimtruefilename
Dimfileext
ConstadtypeBinary = 1
FileName = request.queryString ("FileName")
iffilename = "" lalu
Response.write "Nama file tidak valid!"
Respons.end
Endif
FileExt = mid (nama file, instrrev (nama file, ".")+1)
SelectCaseUcase (fileext)
Kasus "asp", "asa", "aspx", "asax", "mdb"
Response.write "Operasi ilegal!"
Respons.end
Endselect
Respons.clear
iflcase (kanan (nama file, 3)) = "gif" orlcase (kanan (nama file, 3)) = "jpg" orlcase (kanan (nama file, 3)) = "png" lalu
Response.contenttype = "Image/*" '' No Unduh Kotak Dialog Muncul untuk File Gambar
kalau tidak
Response.contentType = "Aplikasi/MS-Download"
endif
Response.addheader "disposisi konten", "lampiran; fileName =" & getFileName (request.querystring ("fileName")))
SetStream = server.CreateObject ("adodb.stream")
Stream.type = adtypeBinary
Stream.open
iflcase (kanan (nama file, 3)) = "pdf" lalu atur direktori file jenis pdf
TruefileName = "/the_pdf_file_s/" & fileName