防止Visual C++应用程序缓冲区溢出
2008-11-13 19:32:40 来源:WEB开发网列表4:使用合格表达式
代码开头包含了Regex对象。在这种情况下,唯一可以接受的输入是字母(甚至于不能包含空格)。合格表达式旁路了大量的输入信息。实际上,为ASP.NET应用程序提供的很多验证支持中定义了很多的默认模板。其要点在于你可以建立一个字符串,它定义了可接受的输入信息,包含了输入样式(例如电话号码)。
Regex对象可以执行很多比较操作。在例子中它使用Matches()方法对比字符串的长度和参照的数字。当这两个数字匹配的时候,输入信息就是正确的。否则,输入信息就包含了非法的字符,CheckChars()方法会引发异常。
提供高级的用户帮助
很多开发者都不能把帮助与良好的安全性联系到一起,但是良好的帮助的确可以减少用户犯错误来提高安全性。例如,良好的帮助文件可以通过显示应用程序希望接收的信息,从而防止某类用户输入错误信息。减少输入错误可以使我们彻底地分析遗留的错误信息,并最终减少不正确输入带来的安全风险。
帮助可以来自于所有形式,包括有用的错误消息。某些数据类型会提出一些特殊的挑战,而你的应用程序必须处理这些问题以确保数据完整性和安全性。例如,日期就是经常会出现问题的一个数据输入条目。首先,你必须考虑日期的格式。用户可能输入1 June 2003、06/01/2003、June 1, 2003、2003/06/01或其它可接受的变量。你应该约束自己的应用程序,只允许一种日期格式以便于检查日期信息的有效性。但是错误消息和帮助文件可以告诉用户必须使用哪种格式,这样用户使用错误格式输入一个有效日期的时候就不会感到沮丧(因为有帮助提醒格式)。
无论你怎样做,仍然有一些用户试图滥用系统。他们可能使用错误的格式输入日期,甚至于输入根本不包含日期的信息。但是,通过提供良好的帮助,你就拥有了用于询问用户的基本要素了。你可以调用安全性措施来确保用户知道这种行为是不可接受的。减少缓冲区溢出是一个主动的过程。你必须防止无效的输入、为用户提供良好的帮助、并给决心忽视规则的用户惩罚性的措施。
- ››防止网站被JS挂马和查杀方法
- ››Visual Basic 2008 数学函数
- ››防止iphone进入休眠后台播放音乐
- ››防止iphone进入休眠后台播放音乐
- ››Visual Studio2005中Smart Device的问题
- ››Visual Studio 中根据数据库字段动态生成控件
- ››Visual Studio 11全新黑色主题
- ››Visual Studio 2011 Beta新特性(一):安装VS201...
- ››应用程序的配置管理Poco
- ››防止SQL SERVER的事件探查器跟踪软件的SQL脚本
- ››Visual Studio自定义调试窗体两个小技巧
- ››Visual Studio 2005 Team Edition for Database P...
更多精彩
赞助商链接