Cakephp、App のフォルダーが Web ルートにないのはなぜですか?

Cakephp、App のフォルダーが Web ルートにないのはなぜですか?

CakePHP ファイルを Web ルートの外部に保存するのはなぜですか?

たとえば、これは私がいつも言われてきたやり方です。

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

セキュリティ上の理由であることはわかっていますが、なぜでしょうか? いずれにしても、ユーザーは /app/ フォルダー内のファイルを表示できるわけではありません。htaccess によってそれが防止されるのですか?

ユーザーが私の Web サーバー上で悪意のあるスクリプトを入手できた場合、/app/ フォルダーが /public_html/ 内にあるか、Web ルート外にあるかは関係なく、/app/ フォルダーの下のファイルが変更されるのではないでしょうか。

それで、なぜわざわざ?

答え1

なぜリスクを冒すのか?ウェブルートになければ、Apacheが誤って配信することは決してない。確かに違いはないはずだが、それは最小権限の原則

また、通常はパブリック フォルダーを URL のルートにしたいので、ユーザーを www.example.com/home/username/public_html に送信するのは少し面倒に思えますか?

関連情報