人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

特殊的空格字符,還不錯:)

特殊的空格字符,還不錯:)

更新時間:2022-06-05 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

特殊的空格字符

在asp編程中,我們常常使用trim(rtrim,ltrim)函數(shù)去掉一些數(shù)據(jù)的開頭和結(jié)尾的空格,筆者最近寫了一個asp聊天室,有下面的一段代碼: 
<%dimname,title 
name=trim(request.form("name")) 
password=trim(request.form("password")) 
ifname=""orpassword="''thenresponse.redirect"error.asp?error=name&name=null" 
myDSN="DSN=test;uid=test;pwd=test" 
setcn=server.createobject("adodb.connection") 
cn.openmyDSN 
sql="insertintotest(name,title)values('"&name&"','"&password&"')" 
cn.execute(sql) 
cn.close%> 
筆者使用了trim函數(shù)來去掉開頭和結(jié)尾的空格,在一般的情況下,這段程序執(zhí)行的很正常,但是后來筆者竟然發(fā)現(xiàn)有人竟然可以使用空格進(jìn)來,意思就是說,該用戶的name完全為空格,但是筆者嘗試自己使用空格卻無論都不能通過(即被程序監(jiān)測了出來),開頭和結(jié)尾的空格都被trim函數(shù)給去掉了,即使中間有空格,筆者需要的話也可以使用一個函數(shù)把中間的空格給去掉,由于筆者使用的是sql數(shù)據(jù)庫記錄下的用戶資料,于是筆者懷疑他使用了其它什么的東西讓系統(tǒng)看不到,于是去察看紀(jì)錄用戶資料的sql數(shù)據(jù)庫(筆者曾經(jīng)使用這種方法看到了帶換行符的用戶),但是筆者仍然看到數(shù)據(jù)庫中的改用戶的資料也是空格,這難道說該用戶使用了一種手段可以繞過我的用戶名和密碼監(jiān)測嗎???實在找不到程序上的漏洞,于是只能向這位用戶請教,幸運(yùn)的是這位用戶爽快的告訴了筆者,原來是"Alt+255",按住alt鍵然后依次按下小鍵盤中"2","5","5"就會產(chǎn)生一個比較特殊的東西"空格"字符(這個概念筆者也不是比較清楚,這是一種控制字符,在一些編輯器中可以看到word2000,應(yīng)該還有其他的控制字符),這個空格字符不同于傳統(tǒng)的按下空格鍵產(chǎn)生的字符,它的asc代碼是255,而傳統(tǒng)的space鍵入的空格的asc代碼是32,trim函數(shù)只能認(rèn)識asc代碼為32的代碼并去除,所以出現(xiàn)了出現(xiàn)空格用戶的情況!針對這種情況筆者設(shè)計了下面的兩種函數(shù)去掉這個"空格"字符, 
functionxuankong(str) 
dimresult 
 dimj 
 j=len(str) 
 result="" 
dimi 
fori=1toj 
 selectcasemid(str,i,1) 
 case"<" 
 result=result+"<" 
 case">" 
 result=result+">" 
 casechr(34) 
 result=result+""" 
 case"&" 
result=result+"&"'以上代碼轉(zhuǎn)換一些html標(biāo)記 

 casechr(255)'防止特殊空格 
result=result 
 casechr(13)'防止回車符 
 result=result+"<br>" 
 casechr(10)'防止換行符 
result=result+"<br>" 
 caseelse 
 result=result+mid(str,i,1) 
 endselect 
next 
xuankong=result 
endfunction 
然后在你的asp程序中使用這個函數(shù),比如: 
name=xuankong(trim(request.form("name"))) 

因為字符0-zasc代碼的數(shù)值為48-122這一個區(qū)段,所以可以使用如下的方法監(jiān)測: 

dimj 
j=len(trim(request.form("name"))) 
fori=1toj 
ifasc(mid(name,i,1))>122orasc(mid(name,i,1))<48thenresponse..redirect"error.asp?error=special" 
next, 
雖然這種“空格”暫時沒有發(fā)現(xiàn)會破壞程序的問題,但是卻是可以讓人搗亂的,還是防了的好,不過這種空格也有一種好處,如果作為你得上網(wǎng)密碼的話,嘿嘿……恐怕沒有幾個人能看到吧!看到的都是以為是space,但是卻不是……筆者不熟悉php和jsp所以不知道在這兩種東西中是否會存在這種問題

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 连南| 大厂| 基隆市| 乌兰浩特市| 河东区| 正镶白旗| 台南市| 安宁市| 南郑县| 平利县| 丹寨县| 固始县| 梧州市| 含山县| 鲁山县| 丰镇市| 蓬溪县| 来凤县| 永济市| 兴宁市| 沽源县| 芮城县| 柘荣县| 沐川县| 荃湾区| 双城市| 濮阳县| 宜宾县| 中超| 桐庐县| 汨罗市| 德昌县| 华阴市| 宜兰县| 巩留县| 石林| 武威市| 桑日县| 道孚县| 漯河市| 阿尔山市|