WEB开发网
开发学院软件开发C语言 Effective C# 原则39:使用.Net验证 阅读

Effective C# 原则39:使用.Net验证

 2009-02-19 08:15:40 来源:WEB开发网   
核心提示:用户的输入可能是多种多样的:你必须在交互式的控件中尽可能的验证输入,写一些用户输入验证可能很做作,Effective C# 原则39:使用.Net验证,而且也有出错的可能,但还是很有必要的,而且我强烈鼓励你学习它,但我不能跑题而不给你提供一些最常用的构造,不能太相信用户的输入,用户可能会输入任何内容导致异常发生

用户的输入可能是多种多样的:你必须在交互式的控件中尽可能的验证输入。写一些用户输入验证可能很做作,而且也有出错的可能,但还是很有必要的。不能太相信用户的输入,用户可能会输入任何内容导致异常发生,进而进行SQL注入式攻击。我们不希望任何类似这样的事情发生。你应该了解足够的信息来怀疑用户的输入。很好,每个人都应该这样做,这也就是为什么.Net框架已经扩展了这样的功能,你可以使用这些功能从而使自己的代码编写工作减到最小,因为我们要对用户输入的每一块数据都要进行验证。

.Net框架提供了不同的机制来验证用户的输入,分别可以用在Web和Windows应用程序中。Web应用程序应该在浏览器上进行数据验证,一般是使用JavaScript。一些验证控件在HTML面而中生成一些JS代码,这对你的用户来说是很有效的:在对每一项输入时,他们不用每次返回数据到服务上。这些Web控件是使用正则表达式的扩展功能来完成对用户输入的验证,这些验证可以在页面提交到服务器之间完成。即使如此,你还是要在服务器上做一些额外的验证,以免受到程序式的攻击。Windows就用程序使用不同的模式。用户的输入可以直接在应用程序中用C#代码来验证。所有的Windows控件都是可验证的,当你想通知用户的非法输入时。一般的模式是使用属性访问时的异常来指示非法的输入。UI控件捕获这些异常然后显示错误给用户。

你可以使用5个web控件来处理ASP.net应用程序中的大多数验证任务。这5个控件都是由属性来控制这些要验证的特殊的字段。RequiredFieldValidator 强制用户在给定字段中输入一个值,RangeValidator 要求特殊的字段提供的值在给定范围内,这个范围可是一个数的大小,也可以是一个字符串的长度。CompareValidator 可以让你构造一个验证规则来验证表单上两个同的控件。这三个控件都很简单。最后两个控件提供了强大的功能,可以让你根据你想要求的方法进行验证。RegularExpression 验证使用与此同时表达式来验证用户的输入。如果与比较返回匹配,输入的就是合法的。正则表达式是很有用的语言。你可以为你所有的实际情况创建正则表达式。VS.net包含了一些验证的表达式,这可以帮助你开始学习它。这有一些帮助你学习更多正则表达式的有用资料,而且我强烈鼓励你学习它。但我不能跑题而不给你提供一些最常用的构造。表5.1显示了最常用的一些正则表达式元素,你可能会在你的应用程序中用来验证输入:

1 2 3 4  下一页

Tags:Effective 原则 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接