2012-05-22 64 views
0

我使用PHP作爲MVC風格應用程序中的模板引擎。但是,我們現在需要通過Web前端編輯模板。有沒有辦法讓這個安全和安全,所以有權編輯模板的用戶無法在服務器上運行危險代碼?或者,應該放棄使用PHP作爲模板引擎,並使用其他模板引擎之一,如Smarty?PHP作爲模板引擎:限制函數並使其安全

+0

http://phptal.org/? – CD001

+0

沒有。您需要選擇一個專爲此目的而設計的「真實」模板語言。但其中大多數仍然允許「危險」的事情發生。例如跨站點腳本是一個巨大的前端問題 - 它不能在控制器級別進行修復,因爲您不知道視圖要在哪個頁面架構中注入數據。這聽起來像是你的真正的問題是你的發佈流程管道缺乏適當的審查和批准階段。 – Cheekysoft

回答

0

我強烈建議twig。 Twig是非常好的,因爲它是非常模塊化的可擴展的,所以你最終將得到一個簡單而複雜的模板引擎。

它在生產中打開緩存時速度也非常快。它也是非常安全的,它可以清理和過濾顯示給用戶的內容,因此編輯模板的人員不能執行任意的PHP代碼。

0

如果您確實想使其更安全:請勿將PHP用於您的模板。 有沒有乾淨的方式來處理這些不同於你的應用程序代碼的模板。

實際上,您正在尋找的是像Smarty或FLOW3的FLUID(我更喜歡後者)的模板引擎,因爲它們正是爲滿足這種需求(其中包括)而構建的。