แนะนำ: เบื้องต้นเกี่ยวกับพื้นฐานของการพัฒนา ASP มนุษยศาสตร์ ASP คืออะไร? ASP เป็นตัวย่อของหน้าเซิร์ฟเวอร์ที่ใช้งานอยู่ซึ่งเป็นหน้าเซิร์ฟเวอร์ที่ใช้งานอยู่ ไฟล์ ASP มี. asp เป็นส่วนขยาย สิ่งที่พิเศษเกี่ยวกับมันคือภาษามาร์กอัปทั้งหมดที่สามารถใช้ในไฟล์ HTML สามารถใช้ในไฟล์ ASP และไฟล์ 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)) ถ้า mid (from_url, 8, len (serv_url)) <> serv_url แล้ว Response.write ลิงก์ที่ผิดกฎหมาย! 'ป้องกันการขโมยลิงก์ Response.end สิ้นสุดถ้า ถ้า request.cookies (เข้าสู่ระบบ) = จากนั้น Response.redirect /login.asp 'จำเป็นต้องเข้าสู่ระบบ! สิ้นสุดถ้า ฟังก์ชั่น getFilename (longName) '/folder1/folder2/file.asp => file.asp ในขณะที่ instr (longname,/) longname = ขวา (longname, len (longname) -1) ใช้ getFileName = longName ฟังก์ชันสิ้นสุด ทึบ เนื้อหาสลัว ชื่อไฟล์หรี่ Dim TrueFilename Dim Fileext const adtypebinary = 1 filename = request.QueryString (ชื่อไฟล์) ถ้า filename = จากนั้น Response.write ไม่ถูกต้อง/เว็บเพจ/ASP/041101/24.htm! Response.end สิ้นสุดถ้า fileext = mid (ชื่อไฟล์, instrrev (ชื่อไฟล์,.) 1) เลือก Case Ucase (Fileext) Case ASP, ASA, ASPX, ASAX, MDB Response.write การดำเนินการที่ผิดกฎหมาย! Response.end สิ้นสุดเลือก Response.Clear ถ้า lcase (ขวา (ชื่อไฟล์, 3)) = gif หรือ lcase (ขวา (ชื่อไฟล์, 3)) = jpg หรือ lcase (ขวา (ชื่อไฟล์, 3)) = png แล้ว response.contentType = image/* 'กล่องโต้ตอบดาวน์โหลดไม่ปรากฏขึ้นสำหรับไฟล์รูปภาพ อื่น Response.ContentType = แอปพลิเคชัน/ms-download สิ้นสุดถ้า Response.addheader เนื้อหา-การจัดสรร, สิ่งที่แนบมา; 200497141230.htm = & getFilename (request.querystring (ชื่อไฟล์)) Set Stream = Server.CreateObject (ADODB.Stream) stream.type = adtypebinary stream.open ถ้า lcase (ขวา (ชื่อไฟล์, 3)) = pdf ดังนั้น 'ตั้งค่าไดเรกทอรีไฟล์ประเภท pdf TrueFileName = /the_pdf_file_s /& filename สิ้นสุดถ้า ถ้า lcase (ขวา (ชื่อไฟล์, 3)) = doc จากนั้นตั้งค่าไดเรกทอรีไฟล์ประเภทเอกสาร TrueFileName = /my_d_o_c_file /& filename สิ้นสุดถ้า ถ้า lcase (ขวา (ชื่อไฟล์, 3)) = gif หรือ lcase (ขวา (ชื่อไฟล์, 3)) = jpg หรือ lcase (ขวา (ชื่อไฟล์, 3)) = png แล้ว TrueFileName = /all_images _ /& filename 'ตั้งค่าไดเรกทอรีไฟล์ภาพ สิ้นสุดถ้า Stream.loadFromFile Server.Mappath (TrueFilename) ในขณะที่ไม่สตรีม eos Response.binaryWrite Stream.Read (1024 * 64) ใช้ สตรีม ตั้งค่าสตรีม = ไม่มีอะไร Response.flush Response.end - |
บทความนี้รวบรวมและรวบรวมจากอินเทอร์เน็ต หากคุณเป็นผู้เขียนต้นฉบับโปรดเขียนเพื่อเปลี่ยนโพสต์ผู้แต่งและแหล่งที่มา # vip.qq.com (เปลี่ยน # เป็น @)
แบ่งปัน: เคล็ดลับ: ใช้ getString เพื่อเพิ่มความเร็วของ ASP โปรแกรมเมอร์ ASP จำนวนมากมีประสบการณ์ในการดำเนินการสืบค้นฐานข้อมูลจากนั้นแสดงผลลัพธ์การสืบค้นในตาราง HTML โดยปกติเราทำสิ่งนี้: ต่อไปนี้เป็นเนื้อหาที่ยกมา: