Rem ## การแปลงจำนวนเต็มยาว
functiontonum (s, เริ่มต้น)
ifisnumeric และ <> "" แล้ว
tonum = clng (s)
อื่น
tonum = ค่าเริ่มต้น
endif
endfunction
การแปลงคำสั่ง rem ## sql
functiontosql (str)
ifisnull (str) thstr = ""
tosql = แทนที่ (str, "'' ',"' '' '')
endfunction
ตัวอย่าง:
dimsql
dimstrows, strname, intage
strName = TOSQL (คำขอ ("ผู้ใช้"))
intage = tonum (คำขอ ("อายุ"), 20)
sql = "เลือก*จาก [ผู้ใช้]" & _
"ที่ไหน [อายุ]>" & strname & _
"และ [ชื่อผู้ใช้] = ''" & intage & "'' '
โดยทั่วไปการพูดผ่านการพิจารณาของสองฟังก์ชั่นข้างต้นการโจมตีการฉีด SQL สามารถกำจัดได้! หากคุณคิดว่ามีความจำเป็นคุณสามารถเพิ่มการเปลี่ยนสำหรับ CHR (0) และเปลี่ยนฟังก์ชั่น TOSQL เป็นดังต่อไปนี้:
functiontosql (str)
ifisnull (str) thstr = ""
str = แทนที่ (str, chr (0), "")
tosql = แทนที่ (str, "'' ',"' '' '')
endfunction
หมายเหตุ:
-
ตรวจจับฟังก์ชั่นที่ส่งจากภายนอก
FunctionCheckUrlRefer ()
Dimstrlocalurl, inturllen, strurlrefer
strlocalurl = "http://127.0.0.1"
inturllen = len (strlocalurl)
strurlrefer = lcase (request.serverVariables ("http_referer") & "")
'' การตรวจจับว่าหน้าก่อนหน้านี้มาจาก strlocalurl หรือไม่
ifleft (strurlrefer, inturllen) = strlocalurlthen
checkurlrefer = true
อื่น
checkurlrefer = false
endif
endfunction
-
ฟังก์ชั่นนี้สามารถช่วยให้คุณต้านทานการทดสอบการฉีด SQL ภายนอกเพียงแค่โทรหาพวกเขาที่หัวของหน้า
ทำให้โปรแกรม ASP ของคุณปลอดภัยยิ่งขึ้นด้วยฟังก์ชั่นเล็ก ๆ สองอย่าง!
ยินดีต้อนรับสู่การแก้ไขฉัน (โปรดเขียนวิธีการเพื่อข้ามฟังก์ชั่นทั้งสองนี้)!
หน้าสนทนาที่เกี่ยวข้อง:
http://community.csdn.net/expert/topicview.asp?id=3585010
http://community.csdn.net/expert/topicview.asp?id=3582230
http://community.csdn.net/expert/topic/3589/3589480.xml?temp=.4866449
-
dimqs, errc, iii
qs = request.serverVariables ("query_string")
Dimnothis (18)
ไม่มีอะไร (0) = "Netuser"