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 に送信するのは少し面倒に思えますか?