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 看起來有點無聊?

相關內容