如果要提交的HTML代码,如果含有script,iframe,frameset等标记,对网站本身会构成一定的潜在威胁,可以在写入数据库之前把这些不完全的html标记给过滤掉。 注:
1.对于单标记(如:<hr />,<br />等),因其对网站本身不会构成威胁,不属于这个函数的过滤范围。
2.参数strHTML:待过滤处理的HTML代码内容
3.参数strTAGs:为待过滤掉的HTML标记名,各标记名以英文逗号( , )为间隔
代码如下:
view sourceprint?01 <%
02 Function lFilterBadHTML(byval strHTML,byval strTAGs)
03 Dim objRegExp,strOutput
04 Dim arrTAG,i
05 arrTAG=Split(strTAGs,",")
06 Set objRegExp = New Regexp
07 strOutput=strHTML
08 objRegExp.IgnoreCase = True
09 objRegExp.Global = True
10 For i=0 to UBound(arrTAG)
11 objRegExp.Pattern = "<"&arrTAG(i)&"[\s\S]+</"&arrTAG(i)&"*>"
12 strOutput = objRegExp.Replace(strOutput, "")
13 Next
14 Set objRegExp = Nothing
15 lFilterBadHTML = strOutput
16 End Function
17 %>
使用方法:
view sourceprint?1 <%
2 Dim sPageCont
3 sPageCont= "…网页正文内容…"
4 sPageCont=FilterBadHTML(sPageCont,"script,iframe,object,table")
5 %>