2010-03-30 58 views
1

我們有一個Web應用程序(你可以說這是一個CMS),我們允許用戶編輯自己的模板是否可以限制Smarty模板中的可用標籤/功能?

我們已經例如:

article.template 
page.template 

現在,我們要限制哪些用戶可以或不可以做在他們的模板中。當然,使用PHP將被禁止(並且Smarty允許我們禁止PHP)。但是有可能定義Smarty的功能或循環,他們可以或不可以使用?

我在Smarty文檔中找不到這個。我們需要一個易於使用的模板系統,可以做到這一點。

+0

我會將此等同於駕駛沒有方向盤的汽車。如果你沒有跟蹤系統,你如何跟蹤人們?此外爲什麼PHP禁止?你還有什麼能讓聰明人工作的? – mcgrailm 2010-03-30 16:40:32

+0

PHP是被禁止的,因爲我們不希望人們去運行命令或從我們那裏獲取系統信息。我們只向用戶提供數據,用戶可以按照他們喜歡的方式呈現數據。我們使用Zend Framework來處理其他事情 – Jorre 2010-03-31 08:11:17

回答

0

如果您使用的是Smarty版本3:是的,這是可能的。查看Smarty_Security課程。

請注意,您還需要限制他們可以生成的HTML(如果他們的HTML將被其他人查看)。我會爲此推薦HTMLPurifier

相關問題