จริงๆ แล้วช่องโหว่ของ SQL insert ไม่ได้แย่ขนาดนั้น หากคุณรู้หลักการ + อดทนและระมัดระวัง ก็สามารถป้องกันได้อย่างสมบูรณ์
ด้านล่างนี้คือ 4 ฟังก์ชั่นที่เพียงพอสำหรับคุณในการต้านทานช่องโหว่ของการฉีด SQL ทั้งหมด! ถ้าเข้าใจโค้ดก็เข้าใจได้
ให้ความสำคัญกับการกรองออบเจ็กต์คำขอทั้งหมด: รวมถึง request.cookie, request.ServerVariables และออบเจ็กต์อื่น ๆ ที่มองข้ามได้ง่าย:
รหัสโปรแกรม
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่น killn (byval s1) 'กรองพารามิเตอร์ตัวเลข
ถ้าไม่ใช่เป็นตัวเลข (s1) แล้ว
ฆ่า=0
อื่น
ถ้า s1〈0 หรือ s1〉2147483647 แล้ว
ฆ่า=0
อื่น
ฆ่า=clng(s1)
สิ้นสุดถ้า
สิ้นสุดถ้า
ฟังก์ชั่นสิ้นสุด
ฟังก์ชั่น killc(byval s1) กรองพารามิเตอร์สกุลเงิน
ถ้าไม่ใช่เป็นตัวเลข (s1) แล้ว
ฆ่าc=0
อื่น
killc=formatnumber(s1,2,-1,0,0)
สิ้นสุดถ้า
ฟังก์ชั่นสิ้นสุด
ฟังก์ชั่น killw(byval s1) 'กรองพารามิเตอร์อักขระ
ถ้า len(s1)=0 แล้ว
ฆ่า = ""
อื่น
killw=trim(แทนที่(s1,"'",""))
สิ้นสุดถ้า
ฟังก์ชั่นสิ้นสุด
ฟังก์ชั่น killbad(byval s1) กรองอักขระที่เป็นอันตรายทั้งหมด รวมถึงการเขียนสคริปต์ข้ามไซต์
ถ้า len(s1) = 0 แล้ว
คิลแบด = ""
อื่น
killbad = trim(replace(replace(replace(replace(replace(replace(replace(replace(s1,Chr(10), "〈br〉"), Chr(34), """), "〉", "> "), "〈", "<"), "&", "&"),chr(39),"'"),chr(32)," "),chr(13),""))
สิ้นสุดถ้า
ฟังก์ชั่นสิ้นสุด