2010-04-28 20 views
0

我刚刚完成了我的第一个PHP站点,现在我有一个与安全有关的问题。我使用PEAR:DB作为数据库连接,并为其创建了一个单独的参数文件。我应该如何隐藏这个参数文件?PEAR:DB连接参数

我发现说的指南(http://www.kitebird.com/articles/peardb.html):

另一种方式来指定连接 参数是将它们放到你从 主脚本引用 单独的文件。 ... 它还使您 移动参数文件Web服务器的文档树,这 阻止其内容被 字面上显示,如果服务器 成为配置错误,并开始 服务PHP脚本之外作为纯文本。

现在我已经把我的文件目录中的这样/include/db_parameters.inc

但是,如果我去这个网址,网络服务器让我看到文件的内容,包括我的数据库用户名和密码。

从我的理解,我应该保护这个文件,即使PHP将作为文本服务,没有人可以读这个。

这里web服务器的文档树以外是什么意思?将PHP文件彻底从public_html目录中彻底放到服务器文件系统中?一些CHMOD?

回答

0

您可以尝试/include/db_parameters.inc.php在该目录中还包含一个空白index.php/html文件,以防止任何人看到目录中包含的内容。

1

/include/db_parameters.inc在这种情况下是一个URI,对应于一个真实路径,如/var/www/include/db_parameters.inc/include之前的部分是文档根目录。 PHP将当前文档根存储在$_SERVER['DOCUMENT_ROOT']

在这种情况下,超出文档根目录的文件将不在上面提到的那个目录中。

0

文档树之外意味着该文件不应位于文档根目录或文档根目录的任何子文件夹中。您可以在.htaccess文件中设置一个规则来禁止访问db_parameters.inc并将其保留在文档树中,但这可能是最好的一天。

+0

在一个单独的点梨的DB包已弃用和过时 - 我会建议你改用MDB2包。 – kguest 2010-04-29 08:22:43