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

所属分类: 网络编程 / ASP编程 阅读数: 334
收藏 0 赞 0 分享
<%
'******************************
'函数: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", "sel&#101;ct")
 Str = Replace(Str, "join", "jo&#105;n")
 Str = Replace(Str, "union", "un&#105;on")
 Str = Replace(Str, "where", "wh&#101;re")
 Str = Replace(Str, "insert", "ins&#101;rt")
 Str = Replace(Str, "delete", "del&#101;te")
 Str = Replace(Str, "update", "up&#100;ate")
 Str = Replace(Str, "like", "lik&#101;")
 Str = Replace(Str, "drop", "dro&#112;")
 Str = Replace(Str, "create", "cr&#101;ate")
 Str = Replace(Str, "modify", "mod&#105;fy")
 Str = Replace(Str, "rename", "ren&#097;me")
 Str = Replace(Str, "alter", "alt&#101;r")
 Str = Replace(Str, "cast", "ca&#115;t")
 CheckStr=Str
End Function

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

Function UnCheckStr(Str)
  Str = Replace(Str, "sel&#101;ct", "select")
  Str = Replace(Str, "jo&#105;n", "join")
  Str = Replace(Str, "un&#105;on", "union")
  Str = Replace(Str, "wh&#101;re", "where")
  Str = Replace(Str, "ins&#101;rt", "insert")
  Str = Replace(Str, "del&#101;te", "delete")
  Str = Replace(Str, "up&#100;ate", "update")
  Str = Replace(Str, "lik&#101;", "like")
  Str = Replace(Str, "dro&#112;", "drop")
  Str = Replace(Str, "cr&#101;ate", "create")
  Str = Replace(Str, "mod&#105;fy", "modify")
  Str = Replace(Str, "ren&#097;me", "rename")
  Str = Replace(Str, "alt&#101;r", "alter")
  Str = Replace(Str, "ca&#115;t", "cast")
  UnCheckStr=Str
End Function
%>
更多精彩内容其他人还在看

IIS访问ASP页面时报错The requested resource is in use.的解决办法

IIS访问ASP页面时报错The requested resource is in use.的解决办法
收藏 0 赞 0 分享

错误类型:Provider (0x80004005)未指定的错误 的一个处理方法

一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engine 错误'80004005'
收藏 0 赞 0 分享

关于“未指定的错误”的问题 的比较正解的解决方法

关于“未指定的错误”的问题 的比较正解的解决方法
收藏 0 赞 0 分享

关于asp+access的安全问题分析

关于asp+access的安全问题分析
收藏 0 赞 0 分享

把RS.GetRows看得更清楚

把RS.GetRows看得更清楚
收藏 0 赞 0 分享

ASP面向对象编程探讨及比较

ASP面向对象编程探讨及比较
收藏 0 赞 0 分享

ASP错误处理

ASP错误处理
收藏 0 赞 0 分享

web文件管理器的后续开发

web文件管理器的后续开发
收藏 0 赞 0 分享

上一篇,下一篇过程代码

上一篇,下一篇过程代码
收藏 0 赞 0 分享

一小偷类!!有兴趣的可以看看

一小偷类!!有兴趣的可以看看
收藏 0 赞 0 分享
查看更多