我对 Web 服务器,特别是 PHP/Apache 服务器有疑问。
一位开发人员告诉我和我的同事,现在将我们的 Web 目录放在 WWW 目录中是不好的,因为它不安全(黑客知道在哪里搜索)。
他告诉我们只有糟糕的开发人员才会将他们的文件放在这个目录中。
但我们必须把它们放在另一个目录中。
这是真的吗??
答案1
这就是通过隐匿性实现的安全。理智的设置恰当的权限,黑客甚至不会进入您的文件系统。如果他进入并且您的系统受到威胁,他只需查看您的 Web 服务器配置文件即可。
良好的基础总是好的——Web 服务器以特定用户(www-data)身份运行是有原因的,您应该始终禁用 root ssh 访问(并尝试以普通用户身份工作,尽量少用 sudo),为文件提供所需的最小权限设置等等。
在我看来,将文件放在标准 /var/www 之外似乎有点太过分了。有很多理由以其他方式做事(我认为有些发行版使用 /srv/www),有时每个 webapp 都有一个单独的文件夹是维护性方面的好主意。例如,我有时会有一些运行自己的服务器的应用程序,而这些应用程序不属于 /var/www - 比如运行 django 的应用程序会在自己的目录中运行,但这主要是为了维护性,因为我的主 web 服务器不需要查看这些文件
无论如何,我都会要求开发人员解释为什么会这样,只是为了开个玩笑。