剥离自pjblog新版本的 防XSS注入函数
2009年05月16号 | 14:49分类:asp技术 | 243 views
剥离自pjblog新版本的 防XSS注入函数
- *************************************
- '防XSS注入函数 更新于2009-04-21 by evio
- '与checkstr()相比, checkxss更加安全
- '*************************************
- Function Checkxss(byVal ChkStr)
- Dim Str
- Str = ChkStr
- If IsNull(Str) Then
- CheckStr = ""
- Exit Function
- End If
- Str = Replace(Str, "&", "&")
- Str = Replace(Str, "'", "´")
- Str = Replace(Str, """", """)
- Str = Replace(Str, "< ", "<")
- Str = Replace(Str, ">", ">")
- Str = Replace(Str, "/", "/")
- Str = Replace(Str, "*", "*")
- Dim re
- Set re = New RegExp
- re.IgnoreCase = True
- re.Global = True
- re.Pattern = "(w)(here)"
- Str = re.Replace(Str, "$1here")
- re.Pattern = "(s)(elect)"
- Str = re.Replace(Str, "$1elect")
- re.Pattern = "(i)(nsert)"
- Str = re.Replace(Str, "$1nsert")
- re.Pattern = "(c)(reate)"
- Str = re.Replace(Str, "$1reate")
- re.Pattern = "(d)(rop)"
- Str = re.Replace(Str, "$1rop")
- re.Pattern = "(a)(lter)"
- Str = re.Replace(Str, "$1lter")
- re.Pattern = "(d)(elete)"
- Str = re.Replace(Str, "$1elete")
- re.Pattern = "(u)(pdate)"
- Str = re.Replace(Str, "$1pdate")
- re.Pattern = "(\s)(or)"
- Str = re.Replace(Str, "$1or")
- re.Pattern = "(\n)"
- Str = re.Replace(Str, "$1or")
- '----------------------------------
- re.Pattern = "(java)(script)"
- Str = re.Replace(Str, "$1script")
- re.Pattern = "(j)(script)"
- Str = re.Replace(Str, "$1script")
- re.Pattern = "(vb)(script)"
- Str = re.Replace(Str, "$1script")
- '----------------------------------
- If Instr(Str, "expression") > 0 Then
- Str = Replace(Str, "expression", "expression", 1, -1, 0) '防止xss注入
- End If
- Set re = Nothing
- Checkxss = Str
- End Function
- 曾经使用的函数
- '*************************************
- '过滤特殊字符
- '*************************************
- Function CheckStr(byVal ChkStr)
- Dim Str
- Str = ChkStr
- If IsNull(Str) Then
- CheckStr = ""
- Exit Function
- End If
- Str = Replace(Str, "&", "&")
- Str = Replace(Str, "'", "'")
- Str = Replace(Str, """", """)
- Dim re
- Set re = New RegExp
- re.IgnoreCase = True
- re.Global = True
- re.Pattern = "(w)(here)"
- Str = re.Replace(Str, "$1here")
- re.Pattern = "(s)(elect)"
- Str = re.Replace(Str, "$1elect")
- re.Pattern = "(i)(nsert)"
- Str = re.Replace(Str, "$1nsert")
- re.Pattern = "(c)(reate)"
- Str = re.Replace(Str, "$1reate")
- re.Pattern = "(d)(rop)"
- Str = re.Replace(Str, "$1rop")
- re.Pattern = "(a)(lter)"
- Str = re.Replace(Str, "$1lter")
- re.Pattern = "(d)(elete)"
- Str = re.Replace(Str, "$1elete")
- re.Pattern = "(u)(pdate)"
- Str = re.Replace(Str, "$1pdate")
- re.Pattern = "(\s)(or)"
- Str = re.Replace(Str, "$1or")
- Set re = Nothing
- CheckStr = Str
- End Function

















