C和C++安全编码(原书第2版)
上QQ阅读APP看书,第一时间看更新

2.1 字符串

各种字符串,例如命令行参数、环境变量、控制台输入、文本文件以及网络连接,提供了外部输入的方法来影响程序的行为和输出,因此安全编程对其给予了特别的关注。例如,图形化和基于Web的应用广泛使用了文本输入域,此外,由于XML这样的标准的存在,程序之间的数据交换也越来越多地采用字符串的形式。结果,因字符串表示法、字符串管理以及字符串操作方面的缺陷已经导致广泛的软件漏洞和漏洞利用。

在软件工程中,字符串是一个基本的概念,但它并不是C或C++的内置类型。标准C语言库支持的类型为char的字符串和类型为wchar_t的宽字符串。