Chr (9), Chr (10), Chr (13), Chr (32), Chr (34)
ตารางทั้งหมดเกี่ยวกับรหัส ASCII: [url] http://www.asciitable.com/ [/url]
Chr (13) เป็นรถป้อน
Chr (10) เป็นสัญลักษณ์ทดแทน
Chr (32) เป็นตัวละครอวกาศ
9/34 เป็นแท็บไม่ได้กำหนด?
นี่คือบางรายการ
อักขระพื้นที่พิเศษ
อักขระพื้นที่พิเศษ
ในการเขียนโปรแกรม ASP เรามักจะใช้ฟังก์ชั่น TRIM (RTRIM, LTRIM) เพื่อลบการเริ่มต้นและพื้นที่ของข้อมูล
<% ชื่อสลัวชื่อเรื่อง
name = trim (request.form (ชื่อ))
รหัสผ่าน = trim (request.form (รหัสผ่าน))
ถ้าชื่อ = หรือรหัสผ่าน = จากนั้น Response.Redirect error.asp?
mydsn = dsn = test;
ตั้งค่า cn = server.createObject (adodb.connection)
cn.open mydsn
sql = แทรกลงในการทดสอบ (ชื่อชื่อ) ค่า ('& name &', '& password &')
cn.execute (SQL)
cn.close%>
ผู้เขียนใช้ฟังก์ชั่นการตัดแต่งเพื่อลบพื้นที่ที่จุดเริ่มต้นและสิ้นสุด มันไม่สามารถผ่านได้ (นั่นคือโปรแกรมถูกตรวจสอบ) ผู้เขียนใช้ข้อมูลผู้ใช้ที่บันทึกโดยฐานข้อมูล SQL ผู้เขียนสงสัยว่าเขาใช้สิ่งอื่น ๆ เพื่อทำให้ระบบมองไม่เห็นดังนั้นเขาจึงไปตรวจสอบฐานข้อมูล SQL ที่บันทึกข้อมูลผู้ใช้ (ผู้เขียนใช้วิธีนี้เพื่อดูเพื่อดู เป็นผู้ใช้ที่นำแถว) แต่ผู้เขียนยังคงเห็นว่าข้อมูลของผู้ใช้ในฐานข้อมูลเป็นพื้นที่เช่นกัน จุดตัด จุดตัด ฉันไม่สามารถหาช่องโหว่ในโปรแกรมได้ดังนั้นฉันจึงสามารถถามผู้ใช้ได้เท่านั้น , 5 ตามลำดับ 2,5 5 จะสร้างสิ่งที่ค่อนข้างพิเศษ (แนวคิดนี้ผู้เขียนไม่ชัดเจนนี่คือตัวละครควบคุมคุณสามารถเห็น Word2000 ในบรรณาธิการบางตัวควรมีอักขระควบคุมอื่น ๆ ) อักขระพื้นที่นี้นี้ อักขระตัวละครพื้นที่นี้แตกต่างจากอักขระที่สร้างขึ้นโดยคีย์กดแบบดั้งเดิมรหัส ASC ของมันคือ 255 และรหัส ASC ของพื้นที่พิมพ์พื้นที่ดั้งเดิมคือ 32 ฟังก์ชั่นการตัดแต่งสามารถรู้รหัส ASC ด้วยรหัส 32 และลบออกได้ ดังนั้นจึงมีการปรากฏตัว ในกรณีนี้ฉันออกแบบฟังก์ชั่นทั้งสองด้านล่างเพื่อลบอักขระที่ว่างเปล่านี้:
ฟังก์ชั่น xuankong (str)
ผลที่สลัว
หรี่
j = len (str)
ผลลัพธ์ =
หรอกฉัน
สำหรับ i = 1 ถึง J
เลือกเคสกลาง (str, i, 1)
กรณี <
ผลลัพธ์ = ผลลัพธ์+<
กรณี>
ผลลัพธ์ = ผลลัพธ์+>
Case Chr (34)
ผลลัพธ์ = ผลลัพธ์+
กรณี &
ผลลัพธ์ = ผลลัพธ์+& & เหนือรหัสเพื่อแปลงเครื่องหมาย HTML บางอย่าง
Case Chr (255) 'ป้องกันพื้นที่พิเศษ
ผลลัพธ์ = ผลลัพธ์
CASE CHR (13) 'ป้องกัน Enter
ผลลัพธ์ = ผลลัพธ์+
Case Chr (10) '
ผลลัพธ์ = ผลลัพธ์+
กรณีอื่น
ผลลัพธ์ = ผลลัพธ์+mid (str, i, 1)
สิ้นสุดเลือก
ต่อไป
xuankong = ผลลัพธ์
ฟังก์ชันสิ้นสุด
จากนั้นใช้ฟังก์ชั่นนี้ในโปรแกรม ASP ของคุณเช่น:
name = xuankong (trim (request.form (ชื่อ)))
เนื่องจากค่าของอักขระ 0-z ASC คือ 48-122 คุณสามารถใช้วิธีการต่อไปนี้เพื่อตรวจสอบ:
หรี่
j = len (trim (request.form (ชื่อ)))
สำหรับ i = 1 ถึง J
ถ้า asc (mid (ชื่อ, i, 1))> 122 หรือ asc (mid (ชื่อ, i, 1)) <48 จากนั้นตอบกลับ. rdirecterr.asp?
ข้อผิดพลาด = พิเศษ
ต่อไป
แม้ว่าพื้นที่ประเภทนี้จะไม่พบว่าปัญหาที่จะทำลายโปรแกรมในขณะนี้ แต่ก็สามารถทำให้ผู้คนมีปัญหาหรือป้องกันได้ ฉันคิดว่ามันเป็นพื้นที่ แต่ไม่ใช่ ... ฉันไม่คุ้นเคยกับ PHP และ JSP ดังนั้นฉันจึงไม่รู้ว่าจะมีปัญหาดังกล่าวในสองสิ่งนี้
วิธีอ่านพื้นที่
วิธีอ่านพื้นที่
เรามักจะแสดงเนื้อหาที่นำมาจากไฟล์ในหน้าเว็บ จากนั้นแสดงในข้อความจากนั้นแสดงในข้อความจากนั้นแสดงในข้อความแล้วแสดงในข้อความจากนั้นแสดงในข้อความจากนั้นแสดงในข้อความแล้วแสดง มันอยู่ในนั้น แต่เราปล่อยให้ผู้ใช้ป้อนเนื้อหาของเนื้อหาบนหน้าเว็บเป็นกล่องข้อความ จากนั้นเนื้อหาในกล่องข้อความไม่สามารถแสดงบนหน้าเว็บซึ่งไม่สามารถแสดงได้นั่นคือไม่มีวรรค หากคุณต้องการแสดงย่อหน้าบนเว็บเพจเราต้องแทรกโลโก้ HTML ที่พื้นที่ของข้อความและตัวละครการเปลี่ยนแปลงเพื่อแสดงอักขระเหล่านี้
หากมีรูปภาพห้องสนทนาบนหน้าเว็บหลังจากป้อนเนื้อหาในกล่องข้อความให้คลิกเพื่อส่งเนื้อหาของเราบนหน้าเว็บ
-
-
-
str = request.querystring (text1)
str = แทนที่ (str, chr (32), & nbsp)
'เปลี่ยนโลโก้ & NBSP
str = แทนที่ (str, vbcrlf, <br>)
'เปลี่ยนรถเข้าสู่โลโก้ <br>
Response.Write Str
-
-
-
หลังจากรหัสด้านบนเราเปลี่ยนการขับขี่ในข้อความเป็นฉลากเปลี่ยน <br> ที่เบราว์เซอร์สามารถรับรู้ได้และแทนที่ช่องว่างเป็นโลโก้อวกาศ & NBSP ในหมู่พวกเขา CHR (32) หมายถึงพื้นที่และ VBCRLF ระบุว่ารถถูกแทนที่
Chr (13) เป็นรถป้อน
-
ตัวอย่าง: แทนที่รูนรถทั้งหมดเป็น <br/>
#replace (foo, chr (13), <br />, ทั้งหมด)#
รักษา
Chr (10) เป็นสัญลักษณ์ทดแทน
ตารางทั้งหมดเกี่ยวกับรหัส ASCII: [url] http://www.asciitable.com./ [/url]
<CFScript>
-
* ฟังก์ชั่นรูปแบบย่อหน้าบทความที่ปรับปรุงแล้ว
* ใช้) & nbsp;
* การเขียนใหม่และการสนับสนุน MultiOS โดย Nathan Dintenfas
-
* @Param สตริงสตริงเป็นรูปแบบ
* @return ส่งคืนสตริง
* @author Ben Forta ([อีเมล] [email protected] [/อีเมล])
* @version 3, 26 มิถุนายน 2545
-
ฟังก์ชั่น paragrap1hformat2 (str) {
// แรกทำให้สไตล์ Windows เป็นสไตล์ Unix
str = แทนที่ (str, chr (13) & chr (10), chr (10), ทั้งหมด);
// ตอนนี้ทำให้สไตล์ Macintosh เป็นสไตล์ Unix
str = แทนที่ (str, chr (13), chr (10), ทั้งหมด);
// ตอนนี้แก้ไขแท็บ
str = แทนที่ (str, chr (9), & nbsp; & nbsp; & nbsp; ทั้งหมด);
// ตอนนี้ส่งคืนข้อความที่จัดรูปแบบใน html
return แทนที่ (str, chr (10), <br />, ทั้งหมด);
-
</cfscript>