ใช้ ASP เพื่อซ่อนเส้นทางไฟล์เพื่อรับรู้โซ่ต่อต้านการโจรกรรม
หากเรารู้เส้นทางที่แท้จริงของไฟล์คงที่เช่น: http://www.xx.com/download/51windows.pdf หากเซิร์ฟเวอร์ไม่มีข้อ จำกัด พิเศษเราสามารถดาวน์โหลดได้อย่างง่ายดาย! เมื่อเว็บไซต์ให้ดาวน์โหลด 51Windows.pdf ผู้ดาวน์โหลดจะไม่ได้รับเส้นทางที่แท้จริงของเขาได้อย่างไร! บทความนี้จะแนะนำวิธีการใช้ 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_urltthen
Response.write "LINKAL LINK!" 'ป้องกันการขโมยลิงค์
Response.end
endif
ifrequest.cookies ("เข้าสู่ระบบ") = "" แล้ว
Response.redirect "/login.asp" 'จำเป็นต้องเข้าสู่ระบบ!
endif
functiongetFilename (longname) '/folder1/folder2/file.asp => file.asp
ในขณะที่ Longname, "/")
longname = ขวา (longname, len (longname) -1)
ใช้
getFileName = longName
endfunction
กระแสน้ำ
dimcontents
dimfilename
dimtruefilename
dimfileext
ConstadTypeBinary = 1
filename = request.QueryString ("ชื่อไฟล์")
iffilename = "" แล้ว
Response.write "ชื่อไฟล์ไม่ถูกต้อง!"
Response.end
endif
fileext = mid (ชื่อไฟล์, instrrev (ชื่อไฟล์, ".". ")+1)
SelectCaseucase (fileext)
กรณี "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.write "การดำเนินการที่ผิดกฎหมาย!"
Response.end
endelect
Response.Clear
iflcase (ขวา (ชื่อไฟล์, 3)) = "gif" orlcase (ขวา (ชื่อไฟล์, 3)) = "jpg" orlcase (ขวา (ชื่อไฟล์, 3)) = "png"
response.contentType = "image/*" 'ไม่มีกล่องโต้ตอบดาวน์โหลดปรากฏขึ้นสำหรับไฟล์รูปภาพ
อื่น
Response.contentType = "แอปพลิเคชัน/ms-download"
endif
Response.addheader "เนื้อหา-การจัดสรร", "ไฟล์แนบ; filename =" & getFileName (request.QueryString ("ชื่อไฟล์"))))))))))))))))))))
setStream = server.createObject ("adodb.stream")
stream.type = adtypebinary
stream.open
iflcase (ขวา (ชื่อไฟล์, 3)) = "pdf" จากนั้นตั้งค่าไดเรกทอรีไฟล์ประเภท PDF
TrueFileName = "/the_pdf_file_s/" & filename