CakePHP,应用程序的文件夹不在webroot为什么?

为什么将CakePHP文件存储在webroot之外?

例如,这是我一直被告知要这样做的方式。

/home/username /app /cake /public_html index.php 

我知道它是因为安全,但为什么呢? 它不像用户可以查看/ app /文件夹中的文件。 htaccess防止正确的?

如果用户能够在我的networking服务器上获得恶意脚本,那么/ app /文件夹位于/ public_html /或webroot之外是没有关系的,他们仍然会更改/ app /文件夹下的文件, ?

那为什么要麻烦?

为什么冒这个险? 如果他们不在webroot中,他们将无法被Apache错误地服务。 当然,它不应该有所作为,但它违背了最低特权委托人 。

另外,您通常希望将公用文件夹作为URL的根目录,将人员发送到www.example.com/home/username/public_html看起来有点不可思议。