仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 630|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网站制作之用正则表达式过滤剧本的研讨(ASP.net)...

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:43:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不可能天天有学习.net),我一同学说,你应该早就有作品啦。我惶惶然……asp.net|剧本|正则在做一些网站(出格是BBS之类)时,常常会有充许用户输出html款式代码,却克制剧本的运转的需求,以到达丰厚网页款式,克制歹意代码的运转。
固然不克不及用HtmlEncode和HtmlDecode办法,由于如许连基础的html代码会被克制失落。

我在网上搜刮,也没有找到好的办理举措,却是搜集了一些剧本打击的实例:

1.<script>标志中包括的代码
2.<ahref=javascript:...中的代码
3.别的基础控件的on...事务中的代码
4.iframe和frameset中载进别的页面酿成的打击


有了这些材料后,事变就复杂多了,写一个复杂的办法,用正则表达式把以上切合几点的代码交换失落:
publicstringwipeScript(stringhtml)
{
System.Text.RegularExpressions.Regexregex1=newSystem.Text.RegularExpressions.Regex(@"<script[sS]+</script*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regexregex2=newSystem.Text.RegularExpressions.Regex(@"href*=*[sS]*script*:",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regexregex3=newSystem.Text.RegularExpressions.Regex(@"on[sS]*=",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regexregex4=newSystem.Text.RegularExpressions.Regex(@"<iframe[sS]+</iframe*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regexregex5=newSystem.Text.RegularExpressions.Regex(@"<frameset[sS]+</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
returnhtml;
}

  此办法输出大概包括剧本的html代码,前往则就是洁净的代码了。我做过一些复杂的测试,能够满中请求,只是还存在几个疑问:
  以上考滤的情形是不是对照完美,还存在别的的剧本打击手腕吗?是不是会有别的更好的办理举措?
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。
海妖 该用户已被删除
沙发
发表于 2015-1-19 21:48:03 | 只看该作者
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-25 21:31:35 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
莫相离 该用户已被删除
地板
发表于 2015-2-4 03:00:25 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
admin 该用户已被删除
5#
发表于 2015-2-9 12:32:34 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
小魔女 该用户已被删除
6#
发表于 2015-2-27 06:19:18 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-8 22:51:27 | 只看该作者
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
柔情似水 该用户已被删除
8#
发表于 2015-3-16 17:06:14 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
乐观 该用户已被删除
9#
发表于 2015-3-22 23:50:25 | 只看该作者
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 18:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表