gets()scanf()有害------c++程序设计原理与实践(进阶篇)

  最简单的读取字符串的方式是使用gets(),例如:

char a[12];
gets(a);

  但gets()和scanf()是有害的,曾经有大约1/4的成功黑客攻击是由于gets()和它的近亲scanf("%s")的漏洞造成的。到现在为止,这仍然是一个主要的安全问题。以上面简单的程序为例,用户可能输入多于11个字符,这时 get()几乎肯定会导致内存破坏(缓冲区之后的内存空间),而内存破坏目前仍是黑客的主要工具之一。

c++程序设计原理与实践(进阶篇)

原文地址:https://www.cnblogs.com/l2017/p/7841569.html