0

我对 PHP、Apache、服务器解释有疑问...我知道当浏览器从 Apache+PHP 服务器加载 PHP 文件时,它会被解释并且只显示 HTML 和纯文本,但有没有办法下载这些文件而不是解释它们?在这种情况下,它会非常不安全,因为 MySQL 密码是不安全的。

是否有任何安全措施来防止这种情况或无法下载此文件?

4

5 回答 5

6

只要您的服务器设置正确,它就不会发生。

一个好的步骤是将所有实际密码和诸如此类的东西放在 config.php 中并包含它。这样,您也可以使用 htacces 阻止该文件,这样如果您的服务器开始提供原始页面,该文件将无论如何都无法访问。

为了澄清您是否创建了.htaccess文件并将其放在与 config.php 相同的文件夹中,并提供以下信息,即使直接请求该文件也不会被提供。只需在此文件中定义您的配置内容(数据库名称、用户名、密码、哈希等),然后在需要它的每个页面的顶部将其 include_once 即可。

<files config.php>
    order allow,deny
    deny from all
</files>
于 2012-11-14T21:55:57.750 回答
1

无法“下载”PHP 文件,但为了提高安全性,您可以将“核心”PHP 文件放在 public_html 文件夹之外

于 2012-11-14T21:55:12.250 回答
1

除非 PHP 解释器由于某种原因停止工作,否则不必担心。大多数服务器设计为在每次请求 PHP 文件时对其进行解释,并且只提供解释后的 HTML 文本。为了以防万一,可以保护敏感的 PHP 设置文件 - 通常通过将它们放置在具有修改权限的根目录之外。

于 2012-11-14T21:57:03.743 回答
0

有人可以下载文件的唯一方法是设置一个为原始文件提供服务的服务器。只要您没有设置这样的服务器,它们就无法访问。如果您系统上唯一的服务器软件是 Apache 并且配置正确,那么人们就看不到您的源代码。

但是,如果有人看到您的源代码会使您的应用程序易受攻击,您可能需要考虑如何解决该问题。存在许多安全的开源软件——为什么你的开源软件会导致问题?

于 2012-11-14T21:54:32.737 回答
0

通过正确的配置,apache 保证文件将始终被解释并且不会被提供下载。

您总是可能会安装错误更新或进行错误配置,但如果有熟练的管理员和稳定版本,这些情况就不会发生。

于 2012-11-14T21:55:07.477 回答