首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

急关于过滤脚本代码的有关问题

2012-02-02 
急:关于过滤脚本代码的问题我想过滤掉textbox里面提交上来的1. script标记中包含的代码2. a hrefJavaS

急:关于过滤脚本代码的问题
我想过滤掉textbox里面提交上来的
1. <script>标记中包含的代码
2. <a href=JavaScript:...中的代码
3. 其它基本控件的 on...事件中的代码
4. iframe 和 frameset 中载入其它页面造成的攻击
这样一些代码,采用了以下这个方法,但是试了不能用,请各位高手指点!!!

 private string wipescript(string html) 

Regex regex1 = new Regex(@"<script[\s\s]+</script *>",System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
Regex regex2 = new Regex(@" href *= *[\s\s]*script *:",System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
Regex regex3 = new Regex(@" on[\s\s]*=",System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
Regex regex4 = new Regex(@"<iframe[\s\s]+</iframe *>",System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
Regex regex5 = new 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; 


调用
string aaa = wipescript(TextBox1.Text);






[解决办法]
这种方法太消极,而且可能不能作到无害化处理。

HttpContext.Current.Server.HtmlEncode(TextBox1.Text);

马上就得了。
[解决办法]
同意HttpContext.Current.Server.HtmlEncode()

热点排行