เว็บริงโทนในมือถือหลายๆ เว็บมีโปรแกรมป้องกันการดูดเสียงเป็นของตัวเอง แต่โปรแกรมนี้ออกแบบมาเพื่อป้องกันสุภาพบุรุษเท่านั้น ไม่ใช่ขโมย ขอแนะนำฟังก์ชันโดยย่อ: มีการใช้ ASP object ServerVariables (ตัวแปรสภาพแวดล้อมของเซิร์ฟเวอร์) ผ่านตัวแปรสภาพแวดล้อมนี้ สามารถรับที่อยู่การดาวน์โหลดจริง และจากนั้นความสมบูรณ์ของที่อยู่จริงสามารถถูกทำลายผ่านฟังก์ชันในตัว VBS แบบธรรมดาบางตัว บรรลุฟังก์ชั่นการหลอกลวงการดาวน์โหลดซอฟต์แวร์ ตอนนี้มีการแนบซอร์สโค้ดเพื่อให้ทุกคนได้เรียนรู้
คัดลอกรหัสรหัสดังต่อไปนี้:
<% ฟังก์ชั่น DownloadFIle(StrFIle)
StrFIlename=StrFIle
Response.Buffer=จริง
การตอบสนองชัดเจน
ตั้งค่า S=Server.CreateObJect(ADODB.Stream)
ส.โอเพ่น
S.ประเภท=1
ในข้อผิดพลาดดำเนินการต่อถัดไป
ตั้งค่า Fso=Server.CreateObJect (ScrIptIng.FIleSystemObJect)
ถ้าไม่ใช่ Fso.FIleExists(StrFIleName) แล้ว
From_Url=Cstr(Request.ServerVarIables(HTTP_REFERER))
Serv_Url=Cstr(คำขอServerVarIables(SERVER_NAME))
ถ้า MId(From_Url,8,len(Serv_Url)) <> Serv_Url แล้ว
Response.WrIte ไฟล์ไม่มีอยู่หรือถูกลบไปแล้ว
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
Response.RedIrect Request.ServerVarIables (HTTP_REFERER)
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
FileExt=MId(StrFIlename,InStrRev(StrFIleName, .)+1)
เลือกกรณี UCase(FIleExt)
กรณี ASP, ASA, ASPX, ASAX, MDB, PHP, JSP, SHTML, HTML, HTM, ทีวี, ข้อมูล
From_Url=Cstr(Request.ServerVarIables(HTTP_REFERER))
Serv_Url=Cstr(คำขอServerVarIables(SERVER_NAME))
ถ้า MId(From_Url,8,len(Serv_Url)) <> Serv_Url แล้ว
Response.WrIte ไฟล์ไม่มีอยู่หรือถูกลบไปแล้ว
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
Response.RedIrect Request.ServerVarIables (HTTP_REFERER)
การตอบสนองสิ้นสุด
สิ้นสุดการเลือก
ตั้งค่า F=Fso.GetFIle(StrFIlename)
IntFIlelength=F.Size
s.LoadFromFIle(StrFIlename)
หากผิดพลาดแล้ว
From_Url=Cstr(Request.ServerVarIables(HTTP_REFERER))
Serv_Url=Cstr(คำขอServerVarIables(SERVER_NAME))
ถ้า MId(From_Url,8,len(Serv_Url)) <> Serv_Url แล้ว
Response.WrIte ข้อมูลไฟล์ไม่สมบูรณ์หรือเสียหาย
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
Response.RedIrect Request.ServerVarIables (HTTP_REFERER)
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
ตั้งค่าการอัปโหลด=Server.CreateObJect(PersIts.Upload)
หากการอัปโหลดไม่มีอะไรแล้ว
Response.AddHeader เนื้อหา-DIsposItIon สิ่งที่แนบมา FIlename=&F.Name
Response.AddHeader ความยาวเนื้อหา, IntFilelength
Response.CharSet=UTF-8
Response.ContentType=application/x-ดาวน์โหลด
การตอบสนอง BinaryWrite S.Read
การตอบสนองฟลัช
ส.ปิด
ตั้งค่า s=ไม่มีสิ่งใดเลย
อื่น
Upload.SendBinary StrFIlename, จริง, แอปพลิเคชัน / x- ดาวน์โหลด, เท็จ
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
-
ใช้: <%โทร DownloadFIle(DownloadFIle)%>