国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

chr(9)、chr(10)、chr(13)、chr(32)、chr(34)講解

2024-05-04 11:01:41
字體:
來源:轉載
供稿:網友
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 是tab,未確定?
以下是一些示列
特殊的空格字符
在asp編程中,我們常常使用trim(rtrim,ltrim)函數去掉一些數據的開頭和結尾的空格,筆者最近寫了一個asp聊天室,有下面的一段代碼: 
<% dim name,title 
name=trim(request.form("name")) 
password=trim(request.form("password")) 
if name=""or password="" then response.redirect "error.asp?error=name&name=null"  
myDSN="DSN=test;uid=test;pwd=test" 
set cn=server.createobject("adodb.connection") 
cn.open myDSN 
sql="insert into test(name,title) values('"&name&"','"&password&"')" 
cn.execute(sql) 
cn.close%> 
筆者使用了trim函數來去掉開頭和結尾的空格,在一般的情況下,這段程序執行的很正常,但是后來筆者竟然發現有人竟然可以使用空格進來,意思就是說,該用戶的name完全為空格,但是筆者嘗試自己使用空格卻無論都不能通過(即被程序監測了出來),開頭和結尾的空格都被trim函數給去掉了,即使中間有空格,筆者需要的話也可以使用一個函數把中間的空格給去掉,由于筆者使用的是sql數據庫記錄下的用戶資料,于是筆者懷疑他使用了其它什么的東西讓系統看不到,于是去察看紀錄用戶資料的sql數據庫(筆者曾經使用這種方法看到了帶換行符的用戶),但是筆者仍然看到數據庫中的改用戶的資料也是空格,這難道說該用戶使用了一種手段可以繞過我的用戶名和密碼監測嗎???實在找不到程序上的漏洞,于是只能向這位用戶請教,幸運的是這位用戶爽快的告訴了筆者,原來是"Alt+255",按住alt鍵然后依次按下小鍵盤中"2","5","5"就會產生一個比較特殊的東西"空格"字符(這個概念筆者也不是比較清楚,這是一種控制字符,在一些編輯器中可以看到word2000,應該還有其他的控制字符),這個空格字符不同于傳統的按下空格鍵產生的字符,它的asc代碼是255,而傳統的space鍵入的空格的asc代碼是32,trim函數只能認識asc代碼為32的代碼并去除,所以出現了出現空格用戶的情況!針對這種情況筆者設計了下面的兩種函數去掉這"空格"字符:
function xuankong(str) 
dim result 
dim j 
   j=len(str) 
   result="" 
dim i  
for i = 1 to j 
   select case mid(str,i,1) 
       case "<" 
          result=result+"<" 
       case ">" 
          result=result+">" 
       case chr(34)   
          result=result+""" 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 徐闻县| 达州市| 汉沽区| 霍山县| 区。| 墨玉县| 高要市| 呼玛县| 青川县| 拉萨市| 新平| 新余市| 吉木乃县| 潍坊市| 克拉玛依市| 镇沅| 海兴县| 新干县| 溆浦县| 民县| 醴陵市| 登封市| 伊川县| 富锦市| 郎溪县| 阳信县| 辽源市| 南和县| 临颍县| 上杭县| 唐河县| 南江县| 平谷区| 江孜县| 察雅县| 凤台县| 玉溪市| 芮城县| 杭州市| 花垣县| 洪江市|