剥离自pjblog新版本的 防XSS注入函数

2009年05月16号  |  14:49分类:asp技术  |  243 views

剥离自pjblog新版本的 防XSS注入函数

  1. *************************************
  2. '防XSS注入函数 更新于2009-04-21 by evio
  3. '与checkstr()相比, checkxss更加安全
  4. '*************************************
  5. Function Checkxss(byVal ChkStr)
  6.     Dim Str
  7.     Str = ChkStr
  8.     If IsNull(Str) Then
  9.         CheckStr = ""
  10.         Exit Function
  11.     End If
  12.     Str = Replace(Str, "&", "&")
  13.     Str = Replace(Str, "'", "´")
  14.     Str = Replace(Str, """", """)
  15.         Str = Replace(Str, "< ", "<")
  16.         Str = Replace(Str, ">", ">")
  17.         Str = Replace(Str, "/", "/")
  18.         Str = Replace(Str, "*", "*")
  19.     Dim re
  20.     Set re = New RegExp
  21.     re.IgnoreCase = True
  22.     re.Global = True
  23.     re.Pattern = "(w)(here)"
  24.     Str = re.Replace(Str, "$1here")
  25.     re.Pattern = "(s)(elect)"
  26.     Str = re.Replace(Str, "$1elect")
  27.     re.Pattern = "(i)(nsert)"
  28.     Str = re.Replace(Str, "$1nsert")
  29.     re.Pattern = "(c)(reate)"
  30.     Str = re.Replace(Str, "$1reate")
  31.     re.Pattern = "(d)(rop)"
  32.     Str = re.Replace(Str, "$1rop")
  33.     re.Pattern = "(a)(lter)"
  34.     Str = re.Replace(Str, "$1lter")
  35.     re.Pattern = "(d)(elete)"
  36.     Str = re.Replace(Str, "$1elete")
  37.     re.Pattern = "(u)(pdate)"
  38.     Str = re.Replace(Str, "$1pdate")
  39.     re.Pattern = "(\s)(or)"
  40.     Str = re.Replace(Str, "$1or")
  41.         re.Pattern = "(\n)"
  42.     Str = re.Replace(Str, "$1or")
  43.         '----------------------------------
  44.         re.Pattern = "(java)(script)"
  45.     Str = re.Replace(Str, "$1script")
  46.         re.Pattern = "(j)(script)"
  47.     Str = re.Replace(Str, "$1script")
  48.         re.Pattern = "(vb)(script)"
  49.     Str = re.Replace(Str, "$1script")
  50.         '----------------------------------
  51.         If Instr(Str, "e­xpression") > 0 Then
  52.                 Str = Replace(Str, "e­xpression", "e­xpression", 1, -1, 0) '防止xss注入
  53.         End If
  54.     Set re = Nothing
  55.     Checkxss = Str
  56. End Function
  57.  
  58.  
  59. 曾经使用的函数
  60. '*************************************
  61. '过滤特殊字符
  62. '*************************************
  63.  
  64. Function CheckStr(byVal ChkStr)
  65.     Dim Str
  66.     Str = ChkStr
  67.     If IsNull(Str) Then
  68.         CheckStr = ""
  69.         Exit Function
  70.     End If
  71.     Str = Replace(Str, "&", "&")
  72.     Str = Replace(Str, "'", "'")
  73.     Str = Replace(Str, """", """)
  74.     Dim re
  75.     Set re = New RegExp
  76.     re.IgnoreCase = True
  77.     re.Global = True
  78.     re.Pattern = "(w)(here)"
  79.     Str = re.Replace(Str, "$1here")
  80.     re.Pattern = "(s)(elect)"
  81.     Str = re.Replace(Str, "$1elect")
  82.     re.Pattern = "(i)(nsert)"
  83.     Str = re.Replace(Str, "$1nsert")
  84.     re.Pattern = "(c)(reate)"
  85.     Str = re.Replace(Str, "$1reate")
  86.     re.Pattern = "(d)(rop)"
  87.     Str = re.Replace(Str, "$1rop")
  88.     re.Pattern = "(a)(lter)"
  89.     Str = re.Replace(Str, "$1lter")
  90.     re.Pattern = "(d)(elete)"
  91.     Str = re.Replace(Str, "$1elete")
  92.     re.Pattern = "(u)(pdate)"
  93.     Str = re.Replace(Str, "$1pdate")
  94.     re.Pattern = "(\s)(or)"
  95.     Str = re.Replace(Str, "$1or")
  96.     Set re = Nothing
  97.     CheckStr = Str
  98. End Function
喜欢本文,那就收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
  • 暂无相关日志

发表您的评论

您必须 登录 才能发表评论。