不正な SQL 文字をフィルタリングして SQL インジェクションなどを防ぎます。内部の体験アイデアは主に一括置換を使用していますが、これは良いアイデアです。次のようにコードをコピーします。
'************************************************ *
'関数名:R
'機能: 不正な SQL 文字をフィルタリングします。
'パラメータ: strChar-----フィルタリングする文字
'戻り値: フィルタリングされた文字
'************************************************ *
パブリック関数 R(strChar)
strChar = または IsNull(strChar) の場合、R = :関数を終了
ディム strBadChar、arrBadChar、tempChar、I
'strBadChar = $,#,',%,^,&,?,(,),<,>,[,],{,},/,/,;,:, & Chr(34) & , & Chr (0)&
strBadChar = +,',--,%,^,&,?,(,),<,>,[,],{,},/,/,;,:, & Chr(34) & , & Chr (0)&
arrBadChar = Split(strBadChar, ,)
tempChar = strChar
I = 0 から UBound(arrBadChar) の場合
tempChar = Replace(tempChar, arrBadChar(I), )
次
tempChar = Replace(tempChar, @@, @)
R=tempChar
終了機能
'フィルターxss
関数 CheckXSS(ByVal strCode)
ディム・レ
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, )
Re=Nothing を設定する
CheckXSS=strCode
終了機能
関数 FilterIDs(byval strIDs)
Dim arrIDs,i,strReturn
strIDs=トリム(strIDs)
Len(strIDs)=0 の場合、関数を終了します
arrIDs=Split(strIDs,,)
i=0 から Ubound(arrIds) へ
If ChkClng(Trim(arrIDs(i)))<>0 then
strReturn=strReturn & , & Int(arrIDs(i))
終了の場合
次
Left(strReturn,1)= の場合、strReturn=Right(strReturn,Len(strReturn)-1)
FilterIDs=strReturn
終了機能