当前位置: 首页 > 图文教程 > 网络编程 > ASP > 过滤掉危险的HTML标记:script,ifame,object

ASP
在线人数统计内幕
介绍一个制作下拉菜单完全不同的办法
server push具体实现(转)
如何完整纪录站内所有网页点选次数(转)
使用ASP常见问题解答(转载)
处理Asp中的错误
微软修补其IIS软件中的又一处安全漏洞
细细品味ASP.NET (一)
细细品味ASP.NET (二)
细细品味ASP.NET (三)
ASP+与JSP之间的抉择
细细品味ASP.NET (四)
细细品味ASP.NET (五)
用asp.net和xml做的新闻更新系统(1)
用asp.net和xml做的新闻更新系统(2)
用asp.net和xml做的新闻更新系统(3)
用ASP+XML打造留言本(1)
用ASP+XML打造留言本(2)
用ASP+XML打造留言本(3)
用ASP+XML打造留言本(4)

ASP 中的 过滤掉危险的HTML标记:script,ifame,object


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 245 ::
收藏到网摘: n/a

对于提交的HTML代码,如果含有script,iframe,frameset等标记,对网站本身会构成一定的潜在威胁,使用下面的函数可以过滤掉指定的HTML标记。
注:
1.对于单标记(如:<hr />,<br />等),因其对网站本身不会构成威胁,故未将单标记纳过过滤范围。
2.参数strHTML:待过滤处理的HTML代码内容
3.参数strTAGs:为待过滤掉的HTML标记名,各标记名以英文逗号( , )为间隔
复制代码 代码如下:
<%
'Wrtten by i{At}CnLei.Com
Function lFilterBadHTML(byval strHTML,byval strTAGs)
Dim objRegExp,strOutput
Dim arrTAG,i
arrTAG=Split(strTAGs,",")
Set objRegExp = New Regexp
strOutput=strHTML
objRegExp.IgnoreCase = True
objRegExp.Global = True
For i=0 to UBound(arrTAG)
objRegExp.Pattern = "<"&arrTAG(i)&"[\s\S]+</"&arrTAG(i)&"*>"
strOutput = objRegExp.Replace(strOutput, "")
Next
Set objRegExp = Nothing
lFilterBadHTML = strOutput
End Function

'Example
Dim sPageCont
sPageCont= "...网页正文内容..."
sPageCont=FilterBadHTML(sPageCont,"script,iframe,object,table")
%>