在哪里放我的PHP文件

时间:2015-01-02 09:58:58

标签: php apache web webserver

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

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

如果我将PHP文件保留在WWW目录中,我担心,它们可以像其他文件和图像一样以相同的方式向公众开放。我担心技术熟练的用户可以下载和阅读它们,因此显示有关我的网络服务器的秘密信息。

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

我正在使用:

  • Apache 2.4.7
  • PHP 5.5.8
  • MySQL 5.6.15

2 个答案:

答案 0 :(得分:7)

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

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

但是.. 必须说,如果没有正确配置这些设置,网络服务器可能确实将PHP文件作为纯文本文件提供!

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

毕竟,即使以前工作过,也很容易打破它。也许你想稍微调整你的配置,或者你是在托管服务提供商可能在你不知情的情况下进行更改的共享主机上,所以这是明智之举。

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

答案 1 :(得分:5)

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

AddType application/x-httpd-php .php

如果您有兴趣为应用程序提供以及安全性,则可以更改PHP文件的扩展名和您的Web服务器配置(上面一行)。它被称为Security through obscurity