9.6. 防止包含/配置文件访问

在开发基于 Web 的应用程序时,不要允许用户访问(读取)程序包含文件和配置文件等文件。这些数据可能提供足够的信息(例如,密码)来入侵系统。请注意,此指南有时也适用于其他类型的应用程序。您可以采取以下几种措施来实现这一点,包括

如果用户可以访问您的文件所在的目录(如果它们是全局可读的),这些方法无法保护您。您可以更改文件的权限,以便只有 Web 服务器的 uid/gid 可以读取这些文件。但是,如果用户可以让 Web 服务器运行他自己的脚本(用户可以编写脚本来访问您的文件),则此方法将不起作用。从根本上说,如果您的站点托管在与不受信任的人共享的服务器上,则更难保护系统安全。一种方法是运行多个 Web 服务程序,每个程序具有不同的权限;这提供了更高的安全性,但在实践中很麻烦。另一种方法是将这些文件设置为仅由您的 uid/gid 读取,并让服务器以“您的”权限运行脚本。后一种方法有其自身的问题:这意味着服务器的某些部分必须具有 root 权限,并且脚本可能具有超出必要的权限。