网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
防止Visual C++应用程序缓冲区溢出
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
就会执行脚本,赋予黑客访问系统的权利。对于这种利用方式来说,Web应用程序比桌面应用程序受的影响更大,但是两者你都必须受到保护。
幸运的是,.NET框架组件提供了强大的合格表达式(regular expression)支持。合格表达式定义了可接受的字符串输入,因此你可以轻易地检测到非法的字符。列表4显示了使用合格表达式的一个方法。

  列表4:使用合格表达式



  代码开头包含了Regex对象。在这种情况下,唯一可以接受的输入是字母(甚至于不能包含空格)。合格表达式旁路了大量的输入信息。实际上,为ASP.NET应用程序提供的很多验证支持中定义了很多的默认模板。其要点在于你可以建立一个字符串,它定义了可接受的输入信息,包含了输入样式(例如电话号码)。
Regex对象可以执行很多比较操作。在例子中它使用Matches()方法对比字符串的长度和参照的数字。当这两个数字匹配的时候,输入信息就是正确的。否则,输入信息就包含了非法的字符,CheckChars()方法会引发异常。

  提供高级的用户帮助

  很多开发者都不能把帮助与良好的安全性联系到一起,但是良好的帮助的确可以减少用户犯错误来提高安全性。例如,良好的帮助文件可以通过显示应用程序希望接收的信息,从而防止某类用户输入错误信息。减少输入错误可以使我们彻底地分析遗留的错误信息,并最终减少不正确输入带来的安全风险。

  帮助可以来自于所有形式,包括有用的错误消息。某些数据类型会提出一些特殊的挑战,而你的应用程序必须处理这些问题以确保数据完整性和安全性。例如,日期就是经常会出现问题的一个数据输入条目。首先,你必须考虑日期的格式。用户可能输入1 June 2003、06/01/2003、June 1, 2003、2003/06/01或其它可接受的变量。你应该约束自己的应用程序,只允许一种日期格式以便于检查日期信息的有效性。但是错误消息和帮助文件可以告诉用户必须使用哪种格式,这样用户使用错误格式输入一个有效日期的时候就不会感到沮丧(因为有帮助提醒格式)。

  无论你怎样做,仍然有一些用户试图滥用系统。他们可能使用错误的格式输入日期,甚至于输入根本不包含日期的信息。但是,通过提供良好的帮助,你就拥有了用于询问用户的基本要素了。你可以调用安全性措施来确保用户知道这种行为是不可接受的。减少缓冲区溢出是一个主动的过程。你必须防止无效的输入、为用户提供良好的帮助、并给决心忽视规则的用户惩罚性的措施。

  • 上一篇资讯: VC++定制状态栏的方法
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号