asp下過(guò)濾非法的SQL字符的函數(shù)代碼
更新時(shí)間:2010年05月27日 11:34:39 作者:
過(guò)濾非法的SQL字符,防止sql注入等。里面的體會(huì)思路主要運(yùn)用了批量替換,是個(gè)不錯(cuò)的思路。
復(fù)制代碼 代碼如下:
'**************************************************
'函數(shù)名:R
'作 用:過(guò)濾非法的SQL字符
'參 數(shù):strChar-----要過(guò)濾的字符
'返回值:過(guò)濾后的字符
'**************************************************
Public Function R(strChar)
If strChar = "" Or IsNull(strChar) Then R = "":Exit Function
Dim strBadChar, arrBadChar, tempChar, I
'strBadChar = "$,#,',%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & ""
strBadChar = "+,',--,%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & ""
arrBadChar = Split(strBadChar, ",")
tempChar = strChar
For I = 0 To UBound(arrBadChar)
tempChar = Replace(tempChar, arrBadChar(I), "")
Next
tempChar = Replace(tempChar, "@@", "@")
R = tempChar
End Function
'過(guò)濾xss
Function CheckXSS(ByVal strCode)
Dim Re
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="<.[^>]*(style).>"
strCode = re.Replace(strCode, "")
re.Pattern="<(a.[^>]*|\/a|li|br|B|\/li|\/B|font.[^>]*|\/font)>"
strCode=re.Replace(strCode,"[$1]")
strCode=Replace(Replace(strCode, "<", "<"), ">", ">")
re.Pattern="\[(a.[^\]]*|\/a|li|br|B|\/li|\/B|font.[^\]]*|\/font)\]"
strCode=re.Replace(strCode,"<$1>")
re.Pattern="<.[^>]*(on(load|click|dbclick|mouseover|mouseout|mousedown|mouseup|mousewheel|keydown|submit|change|focus)).>"
strCode = re.Replace(strCode, "")
Set Re=Nothing
CheckXSS=strCode
End Function
Function FilterIDs(byval strIDs)
Dim arrIDs,i,strReturn
strIDs=Trim(strIDs)
If Len(strIDs)=0 Then Exit Function
arrIDs=Split(strIDs,",")
For i=0 To Ubound(arrIds)
If ChkClng(Trim(arrIDs(i)))<>0 Then
strReturn=strReturn & "," & Int(arrIDs(i))
End If
Next
If Left(strReturn,1)="," Then strReturn=Right(strReturn,Len(strReturn)-1)
FilterIDs=strReturn
End Function
相關(guān)文章
SQL查詢語(yǔ)句通配符與ACCESS模糊查詢like的解決方法
我今天在寫(xiě)個(gè)頁(yè)面的時(shí)候,也很郁悶,表中明明有記錄,但在ASP里就是搜索不到,原來(lái)是因?yàn)閍ccess與SQL的查詢語(yǔ)句通配符問(wèn)題不同所引起的。2011-02-02ASP程序中使用斷開(kāi)的數(shù)據(jù)記錄集的代碼
我們?cè)谑褂肁SP 內(nèi)置的ADO組件進(jìn)行數(shù)據(jù)庫(kù)編程時(shí),通常是在腳本的開(kāi)頭打開(kāi)一個(gè)連接,并在腳本的最后關(guān)閉它,但是就較大腳本而言,在多數(shù)情況下連接打開(kāi)的時(shí)間要比它需要打開(kāi)的時(shí)間長(zhǎng)得多。2012-08-08再發(fā)幾個(gè)ASP不錯(cuò)的函數(shù)
再發(fā)幾個(gè)ASP不錯(cuò)的函數(shù)...2007-08-08ASP下通過(guò)Adodb.Stream實(shí)現(xiàn)多線程下載大文件
這篇文章主要介紹了ASP下通過(guò)Adodb.Stream實(shí)現(xiàn)多線程下載大文件,需要的朋友可以參考下2020-08-08對(duì)于ASP編碼問(wèn)題的深入研究與最終解決方案
對(duì)于ASP編碼問(wèn)題的深入研究與最終解決方案...2007-05-05ASP實(shí)現(xiàn)網(wǎng)頁(yè)打開(kāi)任何類型文件都提示保存的方法附代碼
ASP實(shí)現(xiàn)網(wǎng)頁(yè)打開(kāi)任何類型文件都提示保存的方法附代碼...2007-11-11