Cakephp,App 的文件夹不在 webroot 中,为什么?

Cakephp,App 的文件夹不在 webroot 中,为什么?

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

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

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

我知道这是出于安全考虑,但为什么呢?无论如何,用户都无法查看 /app/ 文件夹中的文件。htaccess 阻止了这种情况,对吗?

如果用户能够在我的网络服务器上获取恶意脚本,那么 /app/ 文件夹是在 /public_html/ 中还是在 webroot 之外都无关紧要,他们仍然会更改 /app/ 文件夹下的文件,对吗?

那又何必呢?

答案1

为什么要冒这个险?如果它们不在 webroot 中,Apache 就永远不会错误地为它们提供服务。当然,这应该没什么区别,但它违反了最小特权原则

另外,您通常希望将公共文件夹作为 URL 的根目录,将人们发送到 www.example.com/home/username/public_html 看起来有点不对劲?

相关内容