3.6 信任

  一个程序应该永远不要假设用户环境是健全的。这包括(但是决不限于此): 用户输入,信号,环境变量,资源,IPC,mmap(内存映射),工作目录的文件系统, 文件描述符,打开文件的数量,等等

  你永远不要假设你可以捕捉到所有的用户可能产生的非法输入样式。 换言之,你的程序应该过滤只准许一些你认为安全的特别的输入子集。 不正确的确认数据会导致各种错误,特别是在互联网上的CGI脚本。 对于文件名你应该额外小心比如路径("../", "/"),符号连接和shell的退出符。

  Perl有一个非常棒的特性叫做“Taint”模式能避免脚本从外部程序在不 安全的途径得到使用的数据。这个方式会检查命令行参数,环境变量,位置 信息确定系统调用 (readdir(), readlink(), getpwxxx()) 的结果和所有文件的输入。

本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.