การตรวจสอบการลงทะเบียนป้องกันไม่ให้ชื่อผู้ใช้เว้นวรรค asp จะแทนที่อักขระพิเศษในโค้ดฟังก์ชันชุด check.asp
คัดลอกรหัสรหัสดังต่อไปนี้:
-
-
ฟังก์ชันแทนที่ข้อความ (fString, patrn, replStr)
ตั้งค่า regEx = New RegExp ' สร้างนิพจน์ทั่วไป
regEx.Pattern = patrn ' กำหนดรูปแบบ
regEx.IgnoreCase = True ' ตั้งค่าว่าจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่หรือไม่
regEx.Global = True ' ตั้งค่าความพร้อมใช้งานทั่วโลก
CompareText = regEx.Replace(&fString&,&replStr&) 'แทนที่
ตั้งค่า regEx=nothing
ฟังก์ชันสิ้นสุด
-
-
ฟังก์ชัน HTMLEncode(fString)
fString=ตัดแต่ง(fString)
fString=แทนที่(fString,CHR(9),)
fString=แทนที่(fString,CHR(13),)
fString=แทนที่(fString,CHR(22),)
fString=แทนที่(fString,CHR(38),&) '&
fString=แทนที่(fString,CHR(32), ) '
fString=แทนที่(fString,CHR(34),) '
fString=แทนที่(fString,CHR(37),%) '%
fString=แทนที่(fString,CHR(39),') ''
fString=แทนที่(fString,CHR(42),*) '*
fString=แทนที่(fString,CHR(43),+) '+
fString=แทนที่(fString,CHR(44),,) ',
fString=แทนที่(fString,CHR(45)&CHR(45),--) '--
fString=แทนที่(fString,CHR(92),/) '/
'fString=แทนที่(fString,CHR(95),_) '_
fString=แทนที่(fString,CHR(40),() '(
fString=แทนที่(fString,CHR(41),)) ')
fString=แทนที่(fString,CHR(60),<) '<
fString=แทนที่(fString,CHR(62),>) '>
fString=แทนที่(fString,CHR(123),{) '{
fString=แทนที่(fString,CHR(125),}) '}
fString=แทนที่(fString,CHR(59),;) ';
fString=แทนที่(fString,CHR(10),<br>)
fString=ReplaceText(fString,([&#])([a-z0-9]*);,$1$2;)
fString=ReplaceText(fString,(fuck|shit),string(len(&$1&),*))
ถ้า IsSqlDataBase=0 แล้ว 'กรอง Katakana (ตัวอักษรญี่ปุ่น) [/u30A0-/u30FF] โดย yuzi
fString=หนี(fString)
fString=ReplaceText(fString,%u30([AF][0-F]),0$1;)
fString=unescape(fString)
สิ้นสุดถ้า
HTMLEncode=fString
ฟังก์ชันสิ้นสุด
-
-
FunctionRequestInt(fString)
RequestInt=คำขอ(fString)
ถ้า IsNumeric(RequestInt) แล้ว
RequestInt=int(RequestInt)
อื่น
คำขอInt=0
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
-
ชื่อผู้ใช้=HTMLEncode(unescape(Request.QueryString(UserName)))
UserNameLength=RequestInt(ชื่อผู้ใช้ยาว)
ถ้า len(UserName)<>UserNameLength แล้ว
ชื่อผู้ใช้ response.write ผิดกฎหมาย!
อื่น
ชื่อผู้ใช้ response.write ถูกกฎหมาย!
สิ้นสุดถ้า
-
ฟังก์ชัน HTMLEncode เป็นขั้นตอนที่จำเป็นในการแปลงชื่อผู้ใช้ให้เป็นอักขระทางกฎหมาย
ฟังก์ชัน RequestInt จะกำหนดว่าชื่อผู้ใช้มีช่องว่างตามจำนวนอักขระที่ถูกต้องที่ป้อนเป็นหลักหรือไม่
วิธีการโทร: check.asp?UserName=username&UserNameLength=username length
โดยทั่วไป check.asp จะใช้สำหรับการตัดสินของ Ajax