asp 实现对SQL注入危险字符进行重编码处理的函数

<%
'******************************
'函数:CheckStr(byVal ChkStr)
'参数:ChkStr,待验证的字符
'作者:阿里西西
'日期:2007/7/15
'描述:对SQL注入危险字符进行重编码处理
'示例:CheckStr("and 1=1 or select * from")
'******************************
Function CheckStr(byVal ChkStr)
 Dim Str:Str=ChkStr
 Str=Trim(Str)
 If IsNull(Str) Then
  CheckStr = ""
  Exit Function 
 End If
 Dim re
 Set re=new RegExp
 re.IgnoreCase =True
 re.Global=True
 re.Pattern="(\r\n){3,}"
 Str=re.Replace(Str,"$1$1$1")
 Set re=Nothing
 Str = Replace(Str,"'","''")
 Str = Replace(Str, "select", "select")
 Str = Replace(Str, "join", "join")
 Str = Replace(Str, "union", "union")
 Str = Replace(Str, "where", "where")
 Str = Replace(Str, "insert", "insert")
 Str = Replace(Str, "delete", "delete")
 Str = Replace(Str, "update", "update")
 Str = Replace(Str, "like", "like")
 Str = Replace(Str, "drop", "drop")
 Str = Replace(Str, "create", "create")
 Str = Replace(Str, "modify", "modify")
 Str = Replace(Str, "rename", "rename")
 Str = Replace(Str, "alter", "alter")
 Str = Replace(Str, "cast", "cast")
 CheckStr=Str
End Function

'反编上面函数处理过的字符串

Function UnCheckStr(Str)
  Str = Replace(Str, "select", "select")
  Str = Replace(Str, "join", "join")
  Str = Replace(Str, "union", "union")
  Str = Replace(Str, "where", "where")
  Str = Replace(Str, "insert", "insert")
  Str = Replace(Str, "delete", "delete")
  Str = Replace(Str, "update", "update")
  Str = Replace(Str, "like", "like")
  Str = Replace(Str, "drop", "drop")
  Str = Replace(Str, "create", "create")
  Str = Replace(Str, "modify", "modify")
  Str = Replace(Str, "rename", "rename")
  Str = Replace(Str, "alter", "alter")
  Str = Replace(Str, "cast", "cast")
  UnCheckStr=Str
End Function
%>

相关推荐