3

有人告诉我,尽可能多地将我的 PHP 文件保留在 public_html 之外是一种很好的做法。

有人建议我使用定义魔法常量来引用 public_html 之外的文件,这很好,我可以通过这样做从 public_html 上移一个目录。

我现在的问题是:

  1. webroot和文档根有什么区别?

  2. 为了防止诸如目录遍历之类的事情,只引用public_html之外的一个目录是否可以?还是我需要更进一步,许多目录以确保无法访问这些文件?

我还不仅希望避免/防止目录遍历,而且还希望隐藏重要文件,例如每次建立连接时包含我的 MySQL 用户名和登录详细信息的连接文件。

4

1 回答 1

5

Webroot 和文档根只是两个不同的术语,在 Web 开发的情况下,它们的含义相同。

只有 webroot 中的文件(在您的情况下public_html)可以通过网络访问。它之外的任何东西都只能由服务器本身访问。public_html因此,您可以在您不希望 Web 访问的所有与 Web 相关的文件旁边创建一个文件夹。

但是,请记住,用户永远不会看到 PHP 源代码,因为它会在文件发送给用户之前执行。这意味着即使用户尝试访问您的“连接到数据库”文件,他们将得到的只是一个空白页面,并且没有您的登录凭据的痕迹。

于 2012-07-08T01:58:22.753 回答