ความจริงแล้วช่องโหว่ของการฉีด SQL ไม่ได้แย่ขนาดนั้น หากคุณรู้หลักการ + อดทนและระมัดระวัง คุณก็ป้องกันได้อย่างสมบูรณ์! ด้านล่างนี้คือ 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 = ตัด(แทนที่(แทนที่(แทนที่(แทนที่(แทนที่(แทนที่(แทนที่(แทนที่(s1,Chr(10), <br>), Chr(34), ), >, >), <, <) & , &),chr(39),'),chr(32), ),chr(13),))
สิ้นสุดถ้า
ฟังก์ชั่นสิ้นสุด