C++编程规范一般的公司都会有,但是涉及到安全相关的则比较少(可能在互联网上公开的少),本文将会介绍常见的安全编程规范,由于C++是一门极其复杂的编程语言,本文无法将所有安全相关的要求描述详尽,后续会不断进行完善更新,本文如有不正确的地方,也请各位读者指正。
2017.03.20
1、代码中不要硬编码明文口令等敏感信息;
说明:在代码中要避免硬编码明文口令、密码、身份证等用户敏感数据;
2、不要通过日志代码打印明文密码等敏感信息;
说明:为了方便的跟踪程序运行过程中的信息,通过日志打印信息是程序员编写代码时常用的一种调试方式,需要避免在日志中打印明文密码等敏感信息。
3、对不安全C++库函数进行重写后再调用;
说明:C++中的字符串相关库函数均为不安全函数,当相关参数可以被外界控制时就会存在溢出漏洞,C++常见的不安全库函数如下:
extern char *strcpy(char *dest,char *src) | 把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间,返回dest(地址中存储的为复制后的新值) |
char *strncpy(char *dest, char *src, size_tn) |
把从src地址开始且含有NULL结束符的字符串赋值到以 |