<%
function strleach(str)'过滤非法字符函数
dim strg
if str="" then exit function
strg=replace(str,chr(34),"")' "
strg=replace(strg,chr(39),"")' '
strg=replace(strg,chr(60),"")' <
strg=replace(strg,chr(62),"")' >
strg=replace(strg,chr(37),"")' %
strg=replace(strg,chr(38),"")' &
strg=replace(strg,chr(40),"")' (
strg=replace(strg,chr(41),"")' )
strg=replace(strg,chr(59),"")' ;
strg=replace(strg,chr(43),"")' +
strg=replace(strg,chr(45),"")' -
strg=replace(strg,chr(91),"")' [
strg=replace(strg,chr(93),"")' ]
strg=replace(strg,chr(123),"")' {
strg=replace(strg,chr(125),"")' }
strleach=strg
end function
Public Function DecodeFilter(html, filter)
html=LCase(html)
filter=split(filter,",")
For Each i In filter
Select Case i
Case "SCRIPT" ' 去除所有客户端脚本javascipt,vbscript,jscript,js,vbs,event,...
html = exeRE("(javascript|jscript|vbscript|vbs):", "#", html)
html = exeRE("</?script[^>]*>", "", html)
html = exeRE("on(mouse|exit|error|click|key)", "", html)
Case "TABLE": ' 去除表格<table><tr><td><th>
html = exeRE("</?table[^>]*>", "", html)
html = exeRE("</?tr[^>]*>", "", html)
html = exeRE("</?th[^>]*>", "", html)
html = exeRE("</?td[^>]*>", "", html)
html = exeRE("</?tbody[^>]*>", "", html)
Case "CLASS" ' 去除样式类class=""
html = exeRE("(<[^>]+) class=[^ |^>]*([^>]*>)", "$1 $2", html)
Case "STYLE" ' 去除样式style=""
html = exeRE("(<[^>]+) style=""[^""]*""([^>]*>)", "$1 $2", html)
html = exeRE("(<[^>]+) style='[^']*'([^>]*>)", "$1 $2", html)
Case "IMG" ' 去除样式style=""
html = exeRE("</?img[^>]*>", "", html)
Case "XML" ' 去除XML<?xml>
html = exeRE("<[^>]*>", "", html)
Case "NAMESPACE" ' 去除命名空间<o></o>
html = exeRE("<\/?[a-z]+:[^>]*>", "", html)
Case "FONT" ' 去除字体<font></font>
html = exeRE("</?font[^>]*>", "", html)
html = exeRE("</?a[^>]*>", "", html)
html = exeRE("</?span[^>]*>", "", html)
html = exeRE("</?br[^>]*>", "", html)
Case "MARQUEE" ' 去除字幕<marquee></marquee>
html = exeRE("</?marquee[^>]*>", "", html)
Case "OBJECT" ' 去除对象<object><param><embed></object>
html = exeRE("</?object[^>]*>", "", html)
html = exeRE("</?param[^>]*>", "", html)
'html = exeRE("</?embed[^>]*>", "", html)
Case "EMBED"
html = exeRE("</?embed[^>]*>", "", html)
Case "DIV" ' 去除对象<object><param><embed></object>
html = exeRE("</?div([^>])*>", "$1", html)
html = exeRE("</?p([^>])*>", "$1", html)
Case "ONLOAD" ' 去除样式style=""
html = exeRE("(<[^>]+) "]*""([^>]*>)", "$1 $2", html)
html = exeRE("(<[^>]+) ]*'([^>]*>)", "$1 $2", html)
Case "ONCLICK" ' 去除样式style=""
html = exeRE("(<[^>]+) "]*""([^>]*>)", "$1 $2", html)
html = exeRE("(<[^>]+) ]*'([^>]*>)", "$1 $2", html)
Case "ONDBCLICK" ' 去除样式style=""
html = exeRE("(<[^>]+) "]*""([^>]*>)", "$1 $2", html)
html = exeRE("(<[^>]+) ]*'([^>]*>)", "$1 $2", html)
End Select
Next
'html = Replace(html,"<table","<")
'html = Replace(html,"<tr","<")
'html = Replace(html,"<td","<")
DecodeFilter = html
End Function