All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
PHP实例:生成静态页面的函数_[PHP教程]
delphi图像列表组件(TImageList)使用实例
用一句SQL取出第m条到第n条记录的方法_[SQL Server教程]
PHP编程中操作目录和文件总结_[PHP教程]
升级PHP5的理由:PHP4和PHP5性能对比_php资料_编程技术
HOW,TO—操作定长字符串_[Asp.Net教程]
详解网页制作中使用的HTML常用标记_[Html教程]
通过继承ConfigurationSection,在web.config中增加自定义配置_[Asp.Net教程]
PHP从映象(Reflection)类中读取属性信息_php资料_编程技术
delphi设置提示信息
Reading number is top 10 pictures
南昌铁路局宜春车务段攸县车站铁路职工福利房被开发商侵占
NeedWallpaper14
福利福利。。。。。。
Wild animals melee moment of life and death1
刘亦菲写真集2
Park waits to have her picture taken exposed
[猫扑大杂烩]华东师范墙上看到的捐精告示 15毫升3600元
教你22句话
西方气质的东方美女1
NeedWallpaper4
Download software ranking
C#与.NET技术平台实战演练
Unix video tutorial2
Boxer's Top ten classic battle1
卡丁车单机版
都市狐狸姑娘传
VC++6.0简体中文版
Boxer's Top ten classic battle4
Sora aoi, the nurse, uniform ,nursing assistant
The king of fighters 97(Mobile phone games-apk)
Kung.Fu.Panda.2
delv published in(发表于) 2014/1/8 7:04:23 Edit(编辑)
用正则表达式过滤脚本的研究(ASP.net)_[Asp.Net教程]

用正则表达式过滤脚本的研究(ASP.net)_[Asp.Net教程]

用正则表达式过滤脚本的研究(ASP.net)_[Asp.Net教程]























在做一些网站(特别是BBS之类)时,经常会有充许用户输入html样式代码,却禁止脚本的运行的需求, 以达到丰富网页样式,禁止恶意代码的运行。
当然不能用 HtmlEncode 和 HtmlDecode 方法,因为这样连基本的html代码会被禁止掉。

我在网上搜索,也没有找到好的解决办法,倒是收集了一些脚本攻击的实例:

1. ",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(@"",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex5 = new System.Text.RegularExpressions.Regex(@"",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
html = regex1.Replace(html, ""); //过滤标记
html = regex2.Replace(html, ""); //过滤href=javascript: () 属性
html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件
html = regex4.Replace(html, ""); //过滤iframe
html = regex5.Replace(html, ""); //过滤frameset
return html;
}






  此方法输入可能包含脚本的html代码,返回则就是干净的代码了。我做过一些简单的测试,可以满中要求,只是还存在几个疑问:




  以上考滤的情况是否比较完善, 还存在其它的脚本攻击手段吗?是否会有其它更好的解决办法?




来源:网络












































添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.