background image

简单的情况。您可以使用

open_basedir 来控制和限制 PHP 能够使用的目录。您还可以建立

Apache 的专用区域,以将所有基于 WEB 的活动都限制到非用户、系统和文件。

3、把 PHP 解析器放在 Web 目录外

一种安全性非常高的方法是把

PHP 解析程序放置到 WEB 文件目录树以外的某个地方,

例如,放置到

/usr/local/bin。这种做法唯一的弊病就是您现在需要在所有含有 PHP 标记符文

件的第一行添加类似于以下的内容:

#!/usr/local/bin/php

您需要使得这些文件成为可执行文件。也就是说,像对待任何其它

CGI 脚本一样来对

待它们。这些

CGI 脚本可能是用 Perl、sh 或者任何其它使用的#!shell-escape 机制来启动它们

自 身 的 脚 本 语 言 来 编 写 的 。 要 使 这 个 方 法 中

PHP 能 够 正 确 处 理 PATH_INFO 和

PATH_TRANSLATED 信息,在编译 PHP 解析器时必须使用配置参数--enable-discard-path。
下面是一个能作为

CGI 程序运行的 PHP 脚的例子。

#!/usr/local/bin/phpecho"Thisisamysmallprogram"

4、最后将 PHP 请升级为最新稳定版本:4.3.8。

PHP4.1 中,添加了一组特殊数据以访问外部数据。这些数组可以在任何范围内调用,

这使得外部数据的访问更方便。在

PHP4.3.8 中,reGISter_globals 被默认关闭以鼓励使用这

些数组以避免无经验的开发者编写出不安全的

PHP 代码。作出这样的变化是出于安全性的

考虑的。