<%
'*******************************
'機能:CheckStr(byvalchkstr)
'パラメーター:Chkstr、検証する文字
著者:アリクシ
'日付:2007/7/15
'説明:SQLインジェクションの危険なキャラクターを再エンコードします
'例:checkstr( "and1 = 1 orselect*from")
'*******************************
functioncheckstr(byvalchkstr)
Dimstr:str = chkstr
str =トリム(str)
ifisnull(str)then
checkstr = ""
exitFunction
endif
薄暗い
setre = newRegexp
re.ignorecase = true
re.global = true
re.pattern = "(/r/n){3、}"
str = re.replace(str、 "$ 1 $ 1 $ 1")
setre =何もない
str =置換(str、 "'"、 "' '")
str =置換(str、 "select"、 "select")
str =置換(str、 "join"、 "join")
str =置換(str、 "union"、 "union")
str =置換(str、 "where"、 "where")
str =交換(str、 "insert"、 "insert")
str =置換(str、 "delete"、 "delete")
str =置換(str、 "update"、 "update")
str =置換(str、 "like"、 "like")
str =置換(str、 "drop"、 "drop")
str =置換(str、 "create"、 "create")
str =交換(str、 "modify"、 "modify")
str =置換(str、 "rename"、 "rename")
str =置換(str、 "alter"、 "alter")
str =交換(str、 "cast"、 "cast")
checkstr = str
エンド機能
'上記の関数によって処理された文字列を逆コンパイルします
functionuncheckstr(str)
str =置換(str、 "select"、 "select")
str =置換(str、 "join"、 "join")
str =置換(str、 "union"、 "union")
str =置換(str、 "where"、 "where")
str =交換(str、 "insert"、 "insert")
str =置換(str、 "delete"、 "delete")
str =置換(str、 "update"、 "update")
str =置換(str、 "like"、 "like")
str =置換(str、 "drop"、 "drop")
str =置換(str、 "create"、 "create")
str =交換(str、 "modify"、 "modify")
str =置換(str、 "rename"、 "rename")
str =置換(str、 "alter"、 "alter")
str =交換(str、 "cast"、 "cast")