几种过滤HTML代码的应用
003
整理ASP过滤HTML代码
<%
function htmlcheck(htmlstring)
htmlstring = replace(htmlstring,"<","<")
htmlstring = replace(htmlstring,">",">")
htmlstring = replace(htmlstring,"&","&")
htmlstring = replace(htmlstring," ","  ")
htmlstring = replace(htmlstring,"chr(10)","<br>")
htmlcheck = htmlstring
end function
%>
用的时候是<%=htmlcheck(rs("message"))%>,比如输入<b>test</b>显示的时候就备替换为:
<b>test</b>
asp html代码过滤 写法一
<%
Function FilterHTML(strToFilter)
Dim strTemp
strTemp = strToFilter
While Instr(1,strTemp,"<") AND Instr(1, strTemp, ">")
strTemp = Left(strTemp, Instr(1, strTemp, "<")-1) & Right(strTemp, Len(strTemp)-Instr(1,strTemp, ">"))
WEnd
FilterHTML = strTemp
End Function
%>
asp html代码过滤 写法二
<% public Function RemoveHTML(strHTML)
ON ERROR RESUME NEXT
Dim objRegExp, strOutput
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<.+?>"
strOutput = objRegExp.Replace(strHTML, "")
strOutput = Replace(strOutput, "<", "〈")
strOutput = Replace(strOutput, ">", "〉")
RemoveHTML = strOutput
Set objRegExp = Nothing
End Function %>
写法二通用.
1. <script>标记中包含的代码
2. <a href=javascript:...中的代码
3. 其它基本控件的 on...事件中的代码
4. iframe 和 frameset 中载入其它页面造成的攻击
有了这些资料后,事情就简单多了,写一个简单的方法,用正则表达式把以上符合几点的代码替换掉:
public string wipescript(string html)
{
system.text.regularexpressions.regex regex1 = new system.text.regularexpressions.regex(@"<script[\s\s]+</script *>",system.text.regularexpressions.regexoptions.ignorecase);
system.text.regularexpressions.regex regex2 = new system.text.regularexpressions.regex(@" href *= *[\s\s]*script *:",system.text.regularexpressions.regexoptions.ignorecase);
system.text.regularexpressions.regex regex3 = new system.text.regularexpressions.regex(@" on[\s\s]*=",system.text.regularexpressions.regexoptions.ignorecase);
system.text.regularexpressions.regex regex4 = new system.text.regularexpressions.regex(@"<iframe[\s\s]+</iframe *>",system.text.regularexpressions.regexoptions.ignorecase);
system.text.regularexpressions.regex regex5 = new system.text.regularexpressions.regex(@"<frameset[\s\s]+</frameset *>",system.text.regularexpressions.regexoptions.ignorecase);
html = regex1.replace(html, ""); //过滤<script></script>标记
html = regex2.replace(html, ""); //过滤href=javascript: (<a>) 属性
html = regex3.replace(html, " _disibledevent="); //过滤其它控件的on...事件
html = regex4.replace(html, ""); //过滤iframe
html = regex5.replace(html, ""); //过滤frameset
return html;
}
将网站文件打包成XML的程序代码 (2008-4-5 19:39:47)
网页滚动条CSS代码 (2008-3-31 22:14:33)
网页背景音乐实现方法 (2008-3-31 22:7:51)
GOODTEXT.ORG留言本 V 1.0 (2008-3-30 22:3:32)
留言管理部分代码 留言本制作过程(3) (2008-3-30 21:5:59)
显示留言部分代码 GOODTEXT.ORG留言本制作过程(2) (2008-3-30 20:57:14)
数据库结构设计与链接 GOODTEXT.ORG留言本制作过程(1) (2008-3-27 18:58:58)
验证密码强度的JS(2) (2008-3-26 22:10:0)
验证密码强度的JS(1) (2008-3-26 21:51:11)
CSS样式控制网页背景(背景颜色和颜色图片) (2008-3-22 12:44:4)