我爱Aspx >> Asp.Net >> ASP.NET设计控件净化网站语言ASP.NET设计控件净化网站语言
考虑一下这种情形:你为一个Web网站写了一个应用程序,它的功能是接受用户的输入并将输入内容永久保存,例如保存到数据库,另外还要在网站上显示出用户输入的内容,例如论坛就是一个很典型的例子。
如果用户来源很杂,必须考虑如何防止用户提交和张贴攻击性(或者色情的、庸俗的)的内容。可能的解决方案包括:
⑴ 将用户群限制到一个封闭的用户团体,即要求用户使用程序功能之前必须先注册/登录。这样,由于每次提交的内容都可以追查到提交者,用户破坏网站规则的可能性就小了很多。如果有用户做出了不应该做的事,你就可以核实用户身份,予以相应的处理。
⑵ 在网站上发布用户提交的内容之前,先由管理员审阅。很多时候,由于人力资源有限,这个办法不一定行得通。
⑶ 禁止用户提交攻击性内容。这是最理想的解决办法,把问题解决在起源。但具体应该怎么实现呢?
本文介绍的方案以一个复合控件为基础,利用一个XML文件来定义攻击性词语。我们将用VB.NET编写这个复合控件,用普通的文本编辑器和命令行编译器(vbc)完成整个工程的构建。
在正式编写控件之前,首先我们来简单地回顾一下ASP.NET中控件的概念。本文出现的所有控件都是服务器控件,它们在服务器上运行,将HTML代码发送到客户端。要理解控件的分类,可以从控件是否嵌入到Web表单页面(因而采用按需编译方式)或预先编译的角度来观察。微软定义了下列ASP.NET服务器控件:HTML服务器控件,Web服务器控件,验证控件,用户控件。
前三种控件读者应该已经比较熟悉了,对于开发者来说,它们是最简单的控件类型,在ASP.NET中已经由微软为我们编写好。用户控件则有所不同。用户控件是“包装”成.ascx页面形式的.aspx页面,其他.aspx页面可以通过注册和实例化来调用用户控件的功能。这是一种被寄予厚望的服务器端控件,对于ASP/ASP.NET开发者来说,它代表着一大进步,特别地,现在编写控件的语言已经全面支持面向对象技术。
Ҷƪл˵?
Asp.Net细节性问题精萃[05-20]
漫谈ASP.NET 页面对象模型[05-20]
ASP.NET+XML打造网络硬盘[05-20]
ASP.NET程序中常用的三十三种代码[05-20]
asp.net 1.1中url重写的问题[05-20]
ASP.NET+AJAX解决网页打开等待问..[05-20]
编写ASP.NET应用程序的十大技巧[05-20]
ASP.Net实现将Word转换PDF格式[05-20]
深入探讨.NET中的钩子技术[05-20]
ASP.NET中实现Flash与.NET的紧密..[05-20]
Asp.Net细节性问题精萃[05-20]
漫谈ASP.NET 页面对象模型[05-20]
ASP.NET+XML打造网络硬盘[05-20]
ASP.NET程序中常用的三十三种代码[05-20]
Visual Studio 2005 中的新的 Da..[05-20]
asp.net 1.1中url重写的问题[05-20]
ASP.NET+AJAX解决网页打开等待问..[05-20]
编写ASP.NET应用程序的十大技巧[05-20]
ASP.Net实现将Word转换PDF格式[05-20]
深入探讨.NET中的钩子技术[05-20]