与PHP相比,Perl,Pythong等语言通常被认为具有更好的安全性。除了可能的安全漏洞之外,有一个原因(我不知道,我要问)我们不会将Perl和Python的可执行文件放在公共文件夹中。由于PHP文件不可执行,因此将它们保存在公共文件夹中是安全的。
将php文件保留在公共文件夹之外以限制攻击者可能的访问权限是一种明智而实用的方法吗?如果是的话,这是常见的吗?因为我没有看到任何不利之处(除了在不同的地方处理文件传播有点困难);但如果它有利于提高安全性,那么值得考虑。由于我不知道黑客附加基于php的网站的方式,我不知道如何提高安全性。
答案 0 :(得分:9)
将php文件保留在外面是一种明智而实用的方法吗? 用于限制攻击者可能访问的公用文件夹?
是
如果是,是否常见?
是
但如果它有利于提高安全性,
您的PHP应用通常包含许多单独的文件。通常,这些将包含在其他文件中。例如,您可能有:
index.php
lib/db.php
lib/auth.php
在此示例中,由于所有文件都在文档根目录中,因此外部用户可以点击URL http://domain.com/lib/auth.php并直接运行该包含文件,而不依赖于应该来源的auth系统。它自己运行时会做什么坏事吗?可能不是。但为了安全起见,您应该将包含文件移到文档根目录之外,这样Web服务器就无法直接为它们提供服务。
(请注意,此漏洞不是PHP独有的,因此无论平台如何,将您的lib保留在文档根目录之外都是一种很好的做法。)