ฟังก์ชั่น SafeRequest (ParaName, ParaType)
'--- ส่งผ่านพารามิเตอร์ ---
'ParaName: ชื่อพารามิเตอร์ - ประเภทอักขระ
'ParaType: ประเภทพารามิเตอร์ - ประเภทตัวเลข (1 ระบุว่าพารามิเตอร์ด้านบนเป็นตัวเลข 0 ระบุว่าพารามิเตอร์ด้านบนเป็นอักขระ)
Dim ParaValue
ParaValue=คำขอ(ParaName)
ถ้า ParaType=1 แล้ว
ถ้าไม่ใช่ isNumeric(ParaValue) แล้ว
พารามิเตอร์ Response.write & ParaName & ต้องเป็นตัวเลข!
การตอบกลับสิ้นสุด
จบถ้า
อื่น
ParaValue=แทนที่(ParaValue, ', ' ')
จบถ้า
SafeRequest=ParaValue
สิ้นสุดฟังก์ชัน
ใช้ SafeRequest(ParaName,ParaType) แทน request.form() และ request..querystring()
************************************************** * *************************************************** ** *****
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------------------------------------
************************************************** * *************************************************** ** *****
-
dimsql_injdata
sql_injdata= '|และ|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare
sql_injHint=แทนที่(sql_injdata,|, )
sql_injHint=แทนที่(sql_injHint, ', ')
sql_inj=แยก(sql_injdata,|)
ถ้า request.querystring<> แล้ว
สำหรับแต่ละ getData ใน request.querystring
สำหรับ i=0 ถึง ubound(sql_inj)
ถ้า instr(lcase(request.querystring(getData)),sql_inj(i))>0 แล้ว
tips=alert( 'เพื่อความปลอดภัยของข้อมูลผู้ใช้ กรุณาอย่าใช้อักขระแทรกที่ผิดกฎหมาย อักขระต่อไปนี้ผิดกฎหมาย: @sql_injHint@ ');
คำใบ้ = แทนที่ (คำใบ้,@sql_injHint@,sql_injHint)
response.write <script language=javascript>
ตอบกลับเขียนคำใบ้
ตอบกลับเขียนประวัติย้อนกลับ ()
การตอบกลับเขียน </script>
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
ต่อไป
ต่อไป
สิ้นสุดถ้า
ถ้า request.form<> แล้ว
สำหรับแต่ละ getData ใน request.querystring
สำหรับ i=0 ถึง ubound(sql_inj)
ถ้า instr(lcase(request.form(getData)),sql_inj(i))>0 แล้ว
tips=alert( 'เพื่อความปลอดภัยของข้อมูลผู้ใช้ กรุณาอย่าใช้อักขระแทรกที่ผิดกฎหมาย อักขระต่อไปนี้ผิดกฎหมาย: @sql_injHint@ ');
คำใบ้ = แทนที่ (คำใบ้,@sql_injHint@,sql_injHint)
response.write <script language=javascript>
ตอบกลับเขียนคำใบ้
ตอบกลับเขียนประวัติย้อนกลับ ()
การตอบกลับเขียน </script>
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
ต่อไป
ต่อไป
สิ้นสุดถ้า
%>จัดรูปแบบโค้ดนี้ลงในไฟล์ (เช่น: defanj.asp) และเพิ่มไฟล์ทั้งหมดที่จำเป็นต้องใช้ในฐานข้อมูลลงในส่วนหัว <!--#include file=defanj.asp-->