Php PEAR:DB连接参数

Php PEAR:DB连接参数,php,security,database-connection,pear,Php,Security,Database Connection,Pear,我刚刚完成了我的第一个PHP站点,现在我有一个与安全相关的问题。我使用PEAR:DB作为数据库连接,并为其创建了一个单独的参数文件。如何隐藏此参数文件 我找到一本指南(),上面写着: 指定连接的另一种方法 参数就是把它们放在一个 从中引用的单独文件 你的主要剧本。 ... 它还使您能够 将参数文件移动到外部 web服务器的文档树,其中 防止其内容被删除 如果服务器 配置错误并启动 以纯文本形式提供PHP脚本 我现在将文件放在如下目录中/include/db_parameters.inc 但是,如

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

我找到一本指南(),上面写着:

指定连接的另一种方法 参数就是把它们放在一个 从中引用的单独文件 你的主要剧本。 ... 它还使您能够 将参数文件移动到外部 web服务器的文档树,其中 防止其内容被删除 如果服务器 配置错误并启动 以纯文本形式提供PHP脚本

我现在将文件放在如下目录中/include/db_parameters.inc

但是,如果我转到这个URL,web服务器会显示文件的内容,包括我的数据库用户名和密码

据我所知,我应该保护这个文件,这样,即使PHP将作为文本使用,也没有人可以读取它


在这里,web服务器的文档树之外意味着什么?将PHP文件从public_html目录中放出来,并深入到服务器文件系统中?一些CHMOD?

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

/include/db_parameters.inc
在本例中是一个URI,与实际路径(如
/var/www/include/db_parameters.inc)相对应,/include前面的部分是文档根。PHP将当前文档根存储在
$\u服务器['document\u root']


在这种情况下,位于文档根目录之外的文件将位于上述目录之外的目录中。

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

另一方面,pear的db包已经过时,不推荐使用—我建议您改用MDB2包。