我的 PHP 文件放在哪里

Where to put my PHP files

我已经完成了我的 PHP 项目开发。它是在我的电脑上本地开发的。现在我已准备好将它上传到我的网络服务器并使其 public 易于访问。

然而有一件事困扰着我:目前,所有 PHP 文件都在我的 WWW 文件夹中,其中包含所有 HTML、JavaScript、CSS 和图像文件。 PHP 文件是敏感的,因为它们访问 MySQL 数据库并且通常包含对用户保密的密码和文件路径。

如果我将 PHP 文件留在 WWW 目录中,恐怕 public 可以像其他文件和图像一样访问它们。恐怕熟练的用户可以下载并阅读它们,因此泄露了我的网络服务器的秘密信息。

我的担心合理吗? Web 服务器是否自动隐藏 .php 文件?我应该将 PHP 文件移动到另一个位置,远离 WWW 文件夹吗?有没有其他方法可以保护我的 PHP 文件不被下载?

我正在使用:

非常安全。如果您安装了 PHP,您的网络服务器将始终尝试 运行 PHP 文件而不是显示它的代码,即使代码失败,您也会收到错误消息或空白页,而不是代码。

除此之外,您可以使用 .htaccess 或其他类型的服务器配置来禁止查看这些文件。

但是.. 必须要说的是,如果这些设置中的任何一个配置不正确,网络服务器确实可以将 PHP 文件作为纯文本提供文件!

所以我认为将所有 php 文件移出 www 文件夹是个好主意,如果它们不应该被直接访问的话。通常您会发现只有一个 index.php 可以处理所有请求并包含其他 php 文件。 PHP 不在 www(文档根目录)中的文件仍然可以包含,因此将这些文件放在单独的文件夹中是一个很好的安全措施。这样,当你犯了一个小小的配置错误时,你就可以降低暴露这些文件的风险。

毕竟,即使它以前有效,也很容易破坏它。也许您想稍微调整一下配置,或者您在共享主机上,托管服务提供商可能会在您不知情的情况下进行更改,所以这是明智的做法。

所以.. 将文件移出 www 文件夹是个好主意。这样做通常很容易(尽管这取决于您的应用程序结构),因此这只是一项额外的安全措施,通常不会花费您一分钱。 如果很难(由于您当前的应用程序结构)将所有文件完全移出文档根目录,请确保至少带密码的配置文件在 www 文件夹之外,然后是可能暴露任何安全问题的数据库访问文件你可能在你的实施中。

别担心;文件 PHP 由网络服务器解释,代码 无法直接从网络浏览器访问。在 apache 的文件 httpd.conf 中,您可以检查扩展名 php 是否为“protected”。

AddType application/x-httpd-php .php

如果您有兴趣为您的应用程序增加 一点 安全性,您可以更改 [=31] 的 扩展名 =] 文件,以及您的网络服务器配置(上面的行)。它被称为Security through obscurity