可以从外部读取PHP文件吗?

时间:2012-01-04 22:39:11

标签: php security

有人可以'破解'apache服务器并读取PHP文件。我知道PHP是一种服务器端语言,不能从服务器以外的任何地方读取,但有人可能会破解服务器并像读取文本文件一样阅读它们吗?

12 个答案:

答案 0 :(得分:9)

是的,如果他们真的入侵服务器(SSH,FTP等),他们可能会访问硬盘上的文件。正确配置的Apache服务器不会提供原始PHP文件,它应该始终首先使用PHP解释器处理它们。

为了避免配置错误的Apache服务器出现问题(即使只是暂时的故障),建议将应用程序文件保留在公共webroot之外。只将一个小的bootstrap PHP文件放入webroot中,这可能会暴露在外,但只有includes个其他PHP文件无法公开访问。

答案 1 :(得分:6)

有些人可以选择在服务器上读取PHP源文件。

  1. 考虑一下服务器的配置错误
  2. 服务器的黑客
  3. 未使用<?php
  4. 打开PHP文件
  5. 临时/备份文件(Think index.php~index.php.bak
  6.   

    我知道PHP是服务器端语言,无法从服务器以外的任何地方读取

    这仅表示在服务器端处理文件。这并不意味着源以某种方式绑定到服务器上。

答案 2 :(得分:2)

美国宇航局可能被黑客入侵。 FBI可以被黑客入侵。您的共享服务器肯定会被黑客攻击。

答案 3 :(得分:1)

是的,当然可以 - 如果服务器被渗透,那么它上面的任何文件都是可见的。

答案 4 :(得分:0)

是的,完全有可能某人通过攻击,利用漏洞或窃取您的密码,或通过您或其他人编写的错误代码或许多不同的方式来破解服务器。

答案 5 :(得分:0)

如果apache服务器有一个允许不受限制地访问文件系统的安全漏洞,那么apache用户可以访问的任何文件都可以通过bug的漏洞获得。

答案 6 :(得分:0)

当然!你可以在服务器上阅读和编辑实际的PHP,对吗?因此,任何访问您服务器的人(通过FTP,您的Web托管控制面板,您编写的PHP代码中的漏洞)都有可能通过您的PHP阅读。

普通用户没有看到PHP的唯一原因是因为Apache:啊!此文件以 .php 结尾!让我先通过PHP解析器运行它!但这很容易关闭。

长话短说:永远不要在您的网络服务器上存储敏感数据。如果必须,请确保它已加密。

答案 7 :(得分:0)

如果您破解服务器,您可以获得FTP访问权限并读取文件。你也可以欺骗服务器认为带有* .php的文件不是用PHP执行的;如果你想访问它们,服务器会提供要下载的文件(如果服务器超载,也会发生这种情况吗?)。

答案 8 :(得分:0)

当然,他们可以通过FTP或任何其他方法来破坏视图中“限制”文件的能力。

然而,如果一个PHP文件只是称之为“文件”,那么它将不会显示为文本“index.php”如果您正确设置了服务器,则不会显示未处理的内容。

答案 9 :(得分:0)

当apache配置错误时,通常会发生这种情况。如果你不小心删除了php文件的扩展处理程序,它们将以纯文本形式返回(发生在facebook年前)。出于这个原因,最好只在docroot中有一个bootstrap文件(例如index.php - <?php include '../private/not-in-docroot/file.php' ?>)。因此,如果没有正确处理php文件,只有你的引导代码是公共的 - 应用程序逻辑和配置文件将是安全的。

tl; dr - 将您的代码保留在docroot之外,只显示引导程序文件

答案 10 :(得分:0)

如果您的服务器有旧软件,或者您的php脚本包含一些错误,则有些人可以阅读您的PHP脚本。

答案 11 :(得分:0)

其他人可以看到您的PHP源

  • 代码允许
  • 服务器在没有安装PHP的情况下运行
  • 服务器未正确配置
  • AND(在某些情况下)发生错误。

其中一台Facebook服务器设置错误,PHP代码可以访问并在网上泄露。检查服务器和代码是否存在安全问题!