2010-12-02 114 views
7

幾天前我有一個可怕的問題。我在我的ubuntu服務器上安裝了更新程序,這是10個網站的主機。在更新過程中,出現了問題,並且mod_php被禁用。因此,PHP支持不見了,幾分鐘後(直到我發現有什麼問題),用戶纔得到下載PHP腳本的邀請,而不是看到一個網站。毋庸置疑,將腳本資源暴露給全世界並沒有什麼更糟糕的了,特別是當數據庫憑證保存在內部時。PHP腳本保護

問題:如何配置apache,所以這種情況在將來是不可能的?我應該在apache2.conf中添加哪些行,以便在禁用mod_php的情況下無法下載PHP文件?

+2

我認爲你應該在你升級時應該放棄你的apache = | – 2010-12-02 10:09:15

回答

9

只需添加以下到的.htaccess在根目錄

php_admin_flag engine on 

在這種情況下,用戶將得到HTTP 500錯誤試圖從這個目錄讀取任意文件及以下,因爲沒有模塊定義的情況下,php_admin_flag指令mod_php關閉。

+0

哈哈,我認爲這是有效的。小丑很難看,但它做到了。 – VDVLeon 2010-12-02 10:17:23

+0

這非常好。 – 2010-12-02 10:18:15

5

更安全的方法就是不要將不想訪問的內容放在文檔根目錄中。看到我的回答here它提供了更多的細節;基本的想法是,如果你不想通過URL訪問文件,不要將該死的文件放在URL可訪問的地方。 99%的應用程序代碼不應位於文檔根目錄下;那麼你對你的apache/php設置做什麼並不重要,你仍然是安全的。