我正在開發一個PHP項目,爲其他程序員開發模板引擎。這個想法很簡單:將會有一個帶有模板的模板文件夾和一個帶有頁面的頁面文件夾,php會去獲取模板並使用當前的URL插入頁面。幾年前,我已經完成了這個沒有面向對象的項目,但現在我正在試着做一個面向對象的焦點。如何保護PHP中的配置文件?
我面臨的問題是關於配置。在原始系統中,我有一個配置爲硬編碼的PHP文件(包含文件夾,JavaScript,頁面等的文件夾的名稱)。在新的一個我想用XML存儲這些數據,但問題是,在這裏搜索Stackexchange我發現this的問題,如果我理解正確,如果我使用重寫解決方案,它甚至不會被訪問PHP腳本,所以我沒有辦法保護配置文件不被直接在瀏覽器中讀取。
我該如何處理這個問題?有比使用XML更好的解決方案嗎?我也避免使用數據庫,因爲這太簡單了,無法涉及到mysql連接等等。我非常肯定,有一種方法可以讓XML只能從服務器內部讀取,但我不確定這是否是最好的解決方案。
有人可以告訴我如何在這種情況下進行?
非常感謝!
包含的文件系統不會被web服務器重寫,所以你在那裏安全。您也可以將配置文件保存在文檔根目錄之外。 – Orangepill
如果數據庫是一個選項,然後探索該選項。我知道一些連接數據庫的應用程序僅用於幾個運行時配置 –
使用不是'.php'格式的「配置文件」時要小心。如果直接訪問此文件,客戶端將看到整個內容,包括數據庫密碼以及您可能擁有的所有其他敏感參數。即使您配置了某些配置以保護其訪問權限,我也不建議您這樣做。當涉及到安全時,總是儘可能地結合儘可能多的技巧,以確保訪問限制將不會被繞過,即使某些因某種原因無法保護訪問權限也是如此。 – Havenard